intel: Un-hardcode lengths from blitter commands.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 14 Jan 2013 22:22:38 +0000 (14:22 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 29 Jan 2013 00:47:52 +0000 (16:47 -0800)
The packet length may change at some point in the future.  Specifying it
explicitly (rather than hardcoding it in the command #define) allows us
to change it much more easily in the future.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/intel/intel_blit.c
src/mesa/drivers/dri/intel/intel_reg.h

index 4b86f0eb0e14cb8ced207719f829f128c673da3a..0946972d4fa3e42cc670ff6f366e1e05b4e6619f 100644 (file)
@@ -194,7 +194,7 @@ intelEmitCopyBlit(struct intel_context *intel,
    assert(dst_y < dst_y2);
 
    BEGIN_BATCH_BLT(8);
-   OUT_BATCH(CMD);
+   OUT_BATCH(CMD | (8 - 2));
    OUT_BATCH(BR13 | (uint16_t)dst_pitch);
    OUT_BATCH((dst_y << 16) | dst_x);
    OUT_BATCH((dst_y2 << 16) | dst_x2);
@@ -368,7 +368,7 @@ intelClearWithBlit(struct gl_context *ctx, GLbitfield mask)
       }
 
       BEGIN_BATCH_BLT(6);
-      OUT_BATCH(CMD);
+      OUT_BATCH(CMD | (6 - 2));
       OUT_BATCH(BR13);
       OUT_BATCH((y1 << 16) | x1);
       OUT_BATCH((y2 << 16) | x2);
@@ -445,7 +445,7 @@ intelEmitImmediateColorExpandBlit(struct intel_context *intel,
       blit_cmd |= XY_DST_TILED;
 
    BEGIN_BATCH_BLT(8 + 3);
-   OUT_BATCH(opcode);
+   OUT_BATCH(opcode | (8 - 2));
    OUT_BATCH(br13);
    OUT_BATCH((0 << 16) | 0); /* clip x1, y1 */
    OUT_BATCH((100 << 16) | 100); /* clip x2, y2 */
@@ -587,7 +587,7 @@ intel_set_teximage_alpha_to_one(struct gl_context *ctx,
    }
 
    BEGIN_BATCH_BLT(6);
-   OUT_BATCH(CMD);
+   OUT_BATCH(CMD | (6 - 2));
    OUT_BATCH(BR13);
    OUT_BATCH((y1 << 16) | x1);
    OUT_BATCH((y2 << 16) | x2);
index 53b1cb93d9806cd1f2715658d428b0b36bee1c4a..e4871ebf9e787ce116b1262829f9efbdd744220d 100644 (file)
 #define PRIM3D_DIB             (0x9<<18)
 #define PRIM3D_MASK            (0x1f<<18)
 
-#define XY_SETUP_BLT_CMD               (CMD_2D | (0x01 << 22) | 6)
+#define XY_SETUP_BLT_CMD               (CMD_2D | (0x01 << 22))
 
-#define XY_COLOR_BLT_CMD               (CMD_2D | (0x50 << 22) | 4)
+#define XY_COLOR_BLT_CMD               (CMD_2D | (0x50 << 22))
 
-#define XY_SRC_COPY_BLT_CMD             (CMD_2D | (0x53 << 22) | 6)
+#define XY_SRC_COPY_BLT_CMD             (CMD_2D | (0x53 << 22))
 
 #define XY_TEXT_IMMEDIATE_BLIT_CMD     (CMD_2D | (0x31 << 22))
 # define XY_TEXT_BYTE_PACKED           (1 << 16)