batch: Specify number of relocations to accommodate

Since relocations are variable size, depending upon generation, it is
easier to handle the resizing of the batch request inside the
BEGIN_BATCH macro. This still leaves us with having to resize commands
in a few places - which still need adaption for gen8+.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson
2014-08-30 11:44:51 +01:00
parent 255bade1ea
commit 10552b5ca6
45 changed files with 152 additions and 180 deletions
+4 -4
View File
@@ -360,9 +360,7 @@ intel_blt_copy(struct intel_batchbuffer *batch,
igt_fail(1);
}
BEGIN_BATCH(gen >= 8 ? 10 : 8);
OUT_BATCH(XY_SRC_COPY_BLT_CMD | cmd_bits |
(gen >= 8 ? 8 : 6));
BLIT_COPY_BATCH_START(cmd_bits);
OUT_BATCH((br13_bits) |
(0xcc << 16) | /* copy ROP */
dst_pitch);
@@ -376,12 +374,14 @@ intel_blt_copy(struct intel_batchbuffer *batch,
#define CMD_POLY_STIPPLE_OFFSET 0x7906
if (gen == 5) {
BEGIN_BATCH(2, 0);
OUT_BATCH(CMD_POLY_STIPPLE_OFFSET << 16);
OUT_BATCH(0);
ADVANCE_BATCH();
}
if (gen >= 6 && src_bo == dst_bo) {
BEGIN_BATCH(3);
BEGIN_BATCH(3, 0);
OUT_BATCH(XY_SETUP_CLIP_BLT_CMD);
OUT_BATCH(0);
OUT_BATCH(0);