Skip to content
  • Matt Turner's avatar
    i965/fs: Do not move MOVs writing the flag outside of control flow · 82389305
    Matt Turner authored
    
    
    The implementation of ballotARB() will start by zeroing the flags
    register. So, a doing something like
    
            if (gl_SubGroupInvocationARB % 2u == 0u) {
                    ... = ballotARB(true);
    		[...]
            } else {
                    ... = ballotARB(true);
    		[...]
    	}
    
    (like fs-ballot-if-else.shader_test does) would generate identical MOVs
    to the same destination (the flag register!), and we definitely do not
    want to pull that out of the control flow.
    
    Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    82389305