i965/vec4: nir_emit_if doesn't need to predicate based on all the channels
v2: changed comment, as suggested by Matt Turner Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
@@ -193,7 +193,9 @@ vec4_visitor::nir_emit_if(nir_if *if_stmt)
|
|||||||
vec4_instruction *inst = emit(MOV(dst_null_d(), condition));
|
vec4_instruction *inst = emit(MOV(dst_null_d(), condition));
|
||||||
inst->conditional_mod = BRW_CONDITIONAL_NZ;
|
inst->conditional_mod = BRW_CONDITIONAL_NZ;
|
||||||
|
|
||||||
emit(IF(BRW_PREDICATE_NORMAL));
|
/* We can just predicate based on the X channel, as the condition only
|
||||||
|
* goes on its own line */
|
||||||
|
emit(IF(BRW_PREDICATE_ALIGN16_REPLICATE_X));
|
||||||
|
|
||||||
nir_emit_cf_list(&if_stmt->then_list);
|
nir_emit_cf_list(&if_stmt->then_list);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user