Reviewed-by: Jordan Justen <[email protected]>
On Sat, Jun 14, 2014 at 12:58 PM, Kenneth Graunke <[email protected]> wrote: > We've used the LD sampler message for pull constant loads on earlier > hardware for some time, and also were already using it for the FS on > Broadwell. This patch makes us use it for Broadwell VS/GS as well. > > I believe that when I wrote this code in 2012, we still used the data > port in some cases, and I somehow neglected to convert it while > rebasing. > > Improves performance in GLBenchmark 2.7 Egypt by 416.978% +/- 2.25821% > (n = 17). Many other applications should benefit similarly: this speeds > up uniform array access in the VS, which is commonly used for skinning > shaders, among other things. > > Signed-off-by: Kenneth Graunke <[email protected]> > --- > src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > No Piglit regressions. > > diff --git a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp > b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp > index 14070cd..82ea45a 100644 > --- a/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp > +++ b/src/mesa/drivers/dri/i965/gen8_vec4_generator.cpp > @@ -444,14 +444,14 @@ > gen8_vec4_generator::generate_pull_constant_load(vec4_instruction *inst, > gen8_instruction *send = next_inst(BRW_OPCODE_SEND); > gen8_set_dst(brw, send, dst); > gen8_set_src0(brw, send, offset); > - gen8_set_dp_message(brw, send, GEN7_SFID_DATAPORT_DATA_CACHE, > - surf_index, > - GEN6_DATAPORT_READ_MESSAGE_OWORD_DUAL_BLOCK_READ, > - 0, /* message control */ > - 1, /* mlen */ > - 1, /* rlen */ > - false, /* no header */ > - false); /* EOT */ > + gen8_set_sampler_message(brw, send, > + surf_index, > + 0, /* The LD message ignores the sampler unit. */ > + GEN5_SAMPLER_MESSAGE_SAMPLE_LD, > + 1, /* rlen */ > + 1, /* mlen */ > + false, /* no header */ > + BRW_SAMPLER_SIMD_MODE_SIMD4X2); > > brw_mark_surface_used(&prog_data->base, surf_index); > } > -- > 1.9.1 > _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
