[Mesa-dev] [PATCH] i965/fs: Fix implied_mrf_writes for scratch writes
Jason Ekstrand
jason at jlekstrand.net
Sat May 23 11:57:32 PDT 2015
On Sat, May 23, 2015 at 11:53 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Tuesday, May 19, 2015 05:37:04 PM Jason Ekstrand wrote:
>> We build the entire message in the generator so all the MRF writes are
>> implied.
>> ---
>> src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
>> index 9b3186b..42a0d78 100644
>> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
>> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
>> @@ -1050,7 +1050,7 @@ fs_visitor::implied_mrf_writes(fs_inst *inst)
>> case FS_OPCODE_VARYING_PULL_CONSTANT_LOAD:
>> return inst->mlen;
>> case SHADER_OPCODE_GEN4_SCRATCH_WRITE:
>> - return 2;
>> + return inst->mlen;
>> case SHADER_OPCODE_UNTYPED_ATOMIC:
>> case SHADER_OPCODE_UNTYPED_SURFACE_READ:
>> case SHADER_OPCODE_UNTYPED_SURFACE_WRITE:
>>
>
> Good catch!
You should thank Neil. He pointed out a bug that made me go look at
spilling again.
> These should be equivalent in SIMD8 mode - we write 1 register
> (BRW_DATAPORT_OWORD_BLOCK_2_OWORDS), giving us a mlen of 2.
>
> But for SIMD16, the old code would break, since mlen is 3.
>
> Cc: mesa-stable at lists.freedesktop.org
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Note: The patch was only compile-tested as actually testing that it
fixes something is neigh impossible. Are you ok with pushing it?
--Jason
More information about the mesa-dev
mailing list