[Mesa-dev] [PATCH 4/6] i965/fs: do not require force_writemask_all with exec_size 4

Samuel Iglesias Gonsálvez siglesias at igalia.com
Fri Jul 8 08:09:41 UTC 2016



On 07/07/16 23:38, Francisco Jerez wrote:
> Samuel Iglesias Gonsálvez <siglesias at igalia.com> writes:
> 
>> So far we only used instructions with this size in situations where we
>> did not operate per-channel and we wanted to ignore the execution mask,
>> but gen7 fp64 will need to emit code with a width of 4 that needs
>> normal execution masking.
>> ---
>>  src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 1 -
>>  1 file changed, 1 deletion(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> index d25d26a..07581d2 100644
>> --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> @@ -1649,7 +1649,6 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
>>        brw_set_default_acc_write_control(p, inst->writes_accumulator);
>>        brw_set_default_exec_size(p, cvt(inst->exec_size) - 1);
>>  
>> -      assert(inst->force_writemask_all || inst->exec_size >= 8);
> 
> Another possibility would be to relax the assertion to check that
> "inst->force_writemask_all || inst->exec_size >= 4" -- Because you can
> only control the channel enable group with nibble granularity at best
> it's unpractical to split instructions into chunks of execution size
> less than four.  SIMD4 though definitely makes sense because of FP64.

Right. I will relax the assertion check as suggested.

> Either way patch is:
> 
> Reviewed-by: Francisco Jerez <currojerez at riseup.net>
> 

Thanks!

Sam

>>        assert(inst->force_writemask_all || inst->group % inst->exec_size == 0);
>>        assert(inst->base_mrf + inst->mlen <= BRW_MAX_MRF(devinfo->gen));
>>        assert(inst->mlen <= BRW_MAX_MSG_LENGTH);
>> -- 
>> 2.7.4
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160708/aa682bf8/attachment.sig>


More information about the mesa-dev mailing list