[Mesa-dev] [PATCH] i965/skl: Add the header for constant loads outside of the generator

Ian Romanick idr at freedesktop.org
Tue Apr 14 17:19:43 PDT 2015


On 04/14/2015 04:02 PM, Ben Widawsky wrote:
> On Tue, Apr 14, 2015 at 07:08:14PM +0100, Neil Roberts wrote:
>> +/**
>> + * Emits the instructions needed to perform a pull constant load. before_block
>> + * and before_inst can be NULL in which case the instruction will be appended
>> + * to the end of the instruction list.
>> + */
>> +void
>> +vec4_visitor::emit_pull_constant_load_reg(dst_reg dst,
>> +                                          src_reg surf_index,
>> +                                          src_reg offset_reg,
>> +                                          bblock_t *before_block,
>> +                                          vec4_instruction *before_inst)
>> +{
>> +   assert((before_inst == NULL && before_block == NULL) ||
>> +          (before_inst && before_block));
>> +
>> +   vec4_instruction *pull;
>> +
>> +   if (brw->gen >= 9) {
>> +      /* Gen9+ needs a message header in order to use SIMD4x2 mode */
>> +      src_reg header(this, glsl_type::uvec4_type, 2);
>> +
> 
> Just curious why you didn't go for a uvec8_type. It seems more natural for what
> we want to do, and how the other code handles things.

Because there is no uvec8 type.  The GLSL types used here only expose
types that exist in GLSL.



More information about the mesa-dev mailing list