[Mesa-dev] [PATCH] intel: Un-hardcode lengths from blitter commands.

Kenneth Graunke kenneth at whitecape.org
Fri Jan 25 19:57:05 PST 2013


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 at whitecape.org>
---
 src/mesa/drivers/dri/intel/intel_blit.c | 8 ++++----
 src/mesa/drivers/dri/intel/intel_reg.h  | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c
index 4b86f0e..0946972 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -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);
diff --git a/src/mesa/drivers/dri/intel/intel_reg.h b/src/mesa/drivers/dri/intel/intel_reg.h
index 53b1cb9..e4871eb 100644
--- a/src/mesa/drivers/dri/intel/intel_reg.h
+++ b/src/mesa/drivers/dri/intel/intel_reg.h
@@ -240,11 +240,11 @@
 #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)
-- 
1.8.1.1



More information about the mesa-dev mailing list