Lines Matching defs:cmdbuf
65 drm_radeon_kcmd_buffer_t *cmdbuf, int n)
72 nr = cmdbuf->nbox - n;
84 (&box, &cmdbuf->boxes[n + i], sizeof (box))) {
128 * Now since the cmdbuf interface is so chaotic right now (and
261 drm_radeon_kcmd_buffer_t *cmdbuf, drm_r300_cmd_header_t header)
278 values[i] = ((int *)(uintptr_t)cmdbuf->buf)[i];
301 cmdbuf->buf += sz * 4;
302 cmdbuf->bufsz -= sz * 4;
314 drm_radeon_kcmd_buffer_t *cmdbuf,
327 if (sz * 4 > cmdbuf->bufsz)
339 cmdbuf, header));
348 OUT_RING_TABLE(cmdbuf->buf, sz);
351 cmdbuf->buf += sz * 4;
352 cmdbuf->bufsz -= sz * 4;
363 drm_radeon_kcmd_buffer_t *cmdbuf, drm_r300_cmd_header_t header)
374 if (sz * 16 > cmdbuf->bufsz)
386 OUT_RING_TABLE(cmdbuf->buf, sz * 4);
390 cmdbuf->buf += sz * 16;
391 cmdbuf->bufsz -= sz * 16;
401 drm_radeon_kcmd_buffer_t *cmdbuf)
405 if (8 * 4 > cmdbuf->bufsz)
412 OUT_RING_TABLE(cmdbuf->buf, 8);
415 cmdbuf->buf += 8 * 4;
416 cmdbuf->bufsz -= 8 * 4;
422 drm_radeon_kcmd_buffer_t *cmdbuf, u32 header)
438 (void) memcpy(payload, cmdbuf->buf + 4, (count + 1) * 4);
482 cmdbuf->buf += (count + 2) * 4;
483 cmdbuf->bufsz -= (count + 2) * 4;
489 drm_radeon_kcmd_buffer_t *cmdbuf)
491 u32 *cmd = (u32 *)(uintptr_t)cmdbuf->buf;
526 OUT_RING_TABLE((cmdbuf->buf + 4), count + 1);
529 cmdbuf->buf += (count+2)*4;
530 cmdbuf->bufsz -= (count+2)*4;
537 drm_radeon_kcmd_buffer_t *cmdbuf)
539 u32 *cmd = (u32 *)(uintptr_t)cmdbuf->buf;
557 OUT_RING_TABLE(cmdbuf->buf + 4, count + 1);
560 cmdbuf->buf += (count+2)*4;
561 cmdbuf->bufsz -= (count+2)*4;
568 drm_radeon_kcmd_buffer_t *cmdbuf)
574 if (4 > cmdbuf->bufsz)
583 header = *(u32 *)(uintptr_t)cmdbuf->buf;
594 if ((count + 2) * 4 > cmdbuf->bufsz) {
596 "%d bytes left\n", (count + 2) * 4, cmdbuf->bufsz);
603 return (r300_emit_3d_load_vbpntr(dev_priv, cmdbuf, header));
606 return (r300_emit_bitblt_multi(dev_priv, cmdbuf));
611 return (r300_emit_indx_buffer(dev_priv, cmdbuf));
630 OUT_RING_TABLE((cmdbuf->buf + 4), count + 1);
633 cmdbuf->buf += (count + 2) * 4;
634 cmdbuf->bufsz -= (count + 2) * 4;
644 drm_radeon_kcmd_buffer_t *cmdbuf, drm_r300_cmd_header_t header)
648 char *orig_buf = cmdbuf->buf;
649 int orig_bufsz = cmdbuf->bufsz;
653 * even if cmdbuf->nbox is 0. Compare r300_emit_cliprects for rationale.
657 if (cmdbuf->nbox > R300_SIMULTANEOUS_CLIPRECTS) {
658 ret = r300_emit_cliprects(dev_priv, cmdbuf, n);
662 cmdbuf->buf = orig_buf;
663 cmdbuf->bufsz = orig_bufsz;
669 ret = r300_emit_clear(dev_priv, cmdbuf);
678 ret = r300_emit_raw_packet3(dev_priv, cmdbuf);
688 cmdbuf->buf - sizeof (header));
693 } while (n < cmdbuf->nbox);
743 drm_radeon_kcmd_buffer_t *cmdbuf,
750 if (cmdbuf->bufsz < sizeof (uint64_t) +
761 ref_age_base = (u32 *)(uintptr_t)*((uint64_t *)(uintptr_t)cmdbuf->buf);
763 cmdbuf->buf += sizeof (uint64_t);
764 cmdbuf->bufsz -= sizeof (uint64_t);
767 buf_idx = *(u32 *)(uintptr_t)cmdbuf->buf;
792 cmdbuf->buf += sizeof (buf_idx);
793 cmdbuf->bufsz -= sizeof (buf_idx);
812 drm_file_t *fpriv, drm_radeon_kcmd_buffer_t *cmdbuf)
828 if (cmdbuf->nbox <= R300_SIMULTANEOUS_CLIPRECTS) {
829 ret = r300_emit_cliprects(dev_priv, cmdbuf, 0);
834 while (cmdbuf->bufsz >= sizeof (drm_r300_cmd_header_t)) {
838 header.u = *(unsigned int *)(uintptr_t)cmdbuf->buf;
840 cmdbuf->buf += sizeof (header);
841 cmdbuf->bufsz -= sizeof (header);
846 ret = r300_emit_packet0(dev_priv, cmdbuf, header);
855 ret = r300_emit_vpu(dev_priv, cmdbuf, header);
864 ret = r300_emit_packet3(dev_priv, cmdbuf, header);
947 ret = r300_scratch(dev_priv, cmdbuf, header);
957 cmdbuf->buf - sizeof (header));