[Mesa-dev] [PATCH 04/10] i965/fs: Allow an execution size of 32.

Matt Turner mattst88 at gmail.com
Fri Apr 17 11:48:30 PDT 2015


On Fri, Apr 17, 2015 at 11:25 AM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Tue, Apr 14, 2015 at 4:15 PM, Matt Turner <mattst88 at gmail.com> wrote:
>> In a few commits, we'll start emitting an add(32) instruction on some
>> platforms.
>> ---
>>  src/mesa/drivers/dri/i965/brw_eu_emit.c        | 2 +-
>>  src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 7 ++-----
>>  2 files changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
>> index 706b66b..44b9ffb 100644
>> --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
>> +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
>> @@ -213,7 +213,7 @@ validate_reg(const struct brw_context *brw, brw_inst *inst, struct brw_reg reg)
>>     const int hstride_for_reg[] = {0, 1, 2, 4};
>>     const int vstride_for_reg[] = {0, 1, 2, 4, 8, 16, 32};
>>     const int width_for_reg[] = {1, 2, 4, 8, 16};
>> -   const int execsize_for_reg[] = {1, 2, 4, 8, 16};
>> +   const int execsize_for_reg[] = {1, 2, 4, 8, 16, 32};
>>     int width, hstride, vstride, execsize;
>>
>>     if (reg.file == BRW_IMMEDIATE_VALUE) {
>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> index a62ba03..102923a 100644
>> --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> @@ -1602,11 +1602,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
>>        brw_set_default_saturate(p, inst->saturate);
>>        brw_set_default_mask_control(p, inst->force_writemask_all);
>>        brw_set_default_acc_write_control(p, inst->writes_accumulator);
>> -
>> -      if (dispatch_width == 16 && !inst->force_uncompressed)
>> -         brw_set_default_exec_size(p, BRW_EXECUTE_16);
>> -      else
>> -         brw_set_default_exec_size(p, BRW_EXECUTE_8);
>> +      brw_set_default_exec_size(p, cvt(inst->exec_size) - 1);
>
> Does this belong in the previous patch?  It seems like it would fit
> better there.

Yeah, should be fine to move it there. I'll do that.


More information about the mesa-dev mailing list