OSDN Git Service

i965/vs: Fix the mlen of scratch read/write messages.
authorEric Anholt <eric@anholt.net>
Wed, 3 Oct 2012 23:15:07 +0000 (16:15 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 17 Oct 2012 19:24:00 +0000 (12:24 -0700)
These messages always have m0 = g0 and m1 = offset, and write has m2 = data.
Avoids regression in opt_compute_to_mrf() with a change to scratch writes to
set up the data as an MRF write in the IR.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index 9fc7ec7..f54c49e 100644 (file)
@@ -187,7 +187,7 @@ vec4_visitor::SCRATCH_READ(dst_reg dst, src_reg index)
    inst = new(mem_ctx) vec4_instruction(this, VS_OPCODE_SCRATCH_READ,
                                        dst, index);
    inst->base_mrf = 14;
-   inst->mlen = 1;
+   inst->mlen = 2;
 
    return inst;
 }
@@ -200,7 +200,7 @@ vec4_visitor::SCRATCH_WRITE(dst_reg dst, src_reg src, src_reg index)
    inst = new(mem_ctx) vec4_instruction(this, VS_OPCODE_SCRATCH_WRITE,
                                        dst, src, index);
    inst->base_mrf = 13;
-   inst->mlen = 2;
+   inst->mlen = 3;
 
    return inst;
 }