[Mesa-dev] [PATCH 0/5] Implementation of vec4 equivalent to fs_cmod_propagation optimization

Alejandro Piñeiro apinheiro at igalia.com
Thu Oct 15 12:40:12 PDT 2015

On 15/10/15 18:19, Matt Turner wrote:
> On Sat, Oct 10, 2015 at 4:24 AM, Alejandro Piñeiro <apinheiro at igalia.com> wrote:
>> This series implements a vec4 equivalent to fs_cmod_propagation optimization.
>> The last two commits are not really needed for the optimization, are just
>> nice-to-have (imho) that I added while implementing the optimization.
>> Alejandro Piñeiro (5):
>>   i965/vec4: nir_emit_if doesn't need to predicate based on all the
>>     channels
>>   i965/vec4: adding vec4_cmod_propagation optimization
>>   i965/vec4: Add unit tests for cmod propagation pass.
>>   i965/vec4: use a custom envvar to decide to print the assembly of
>>     test_vec4_cmod_propagation
>>   i965/vec4: print predicate control at brw_vec4 dump_instruction
> Pending the flag liveness analysis patch, these five are reviewed,

First, thanks for the review. Even although those patches could be
landed without the flag liveness analysis patch, I would prefer to wait
until everything is finished. In any case, I would not be able to work
tomorrow, so it will need to wait till next Monday. So if you prefer, I
could start to land the reviewed patches without waiting for the flag one.
>  but
> aren't we still missing a vec4_visitor implementation of
> fixup_3src_null_dest()?

Sorry for not answering directly that suggestion. I didn't need to
implement that one. Take a look to what I get from the piglit test
vs-refract-vec2-vec2-float.shader_test with the cmod optimization:

mad.l.f0(8)     g18<1>.xF       g10<4,4,1>.xF   g17<4,4,1>.xF  
-g2.0<0,1,0>F { align16 1Q };
(+f0.x) if(8)   JIP: 6          UIP: 13  

It is already a non null-reg dest. When I asked, that was not the
problem, but that we were only writing to the x component of the flag on
the mad.l but using all the components at the if. So I didn't need to
add a vec4 fixup_3src_null_dest.

Best regards

Alejandro Piñeiro (apinheiro at igalia.com)

More information about the mesa-dev mailing list