nir: Preserve fp_fast_math in nir_opt_vectorize()
Fixes the following CTS tests on NVK: dEQP-VK.spirv_assembly.instruction.*.float_controls.fp16.generated_args.signed_zero_sub_var_preserve* Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30859>
This commit is contained in:
committed by
Marge Bot
parent
7392e3306e
commit
518b2d548f
@@ -455,6 +455,11 @@ instr_try_combine_alu(struct set *instr_set, nir_alu_instr *alu1, nir_alu_instr
|
||||
*/
|
||||
new_alu->exact = alu1->exact || alu2->exact;
|
||||
|
||||
/* fp_fast_math is a set of FLOAT_CONTROLS_*_PRESERVE_*. Preserve anything
|
||||
* preserved by either instruction.
|
||||
*/
|
||||
new_alu->fp_fast_math = alu1->fp_fast_math | alu2->fp_fast_math;
|
||||
|
||||
/* If all channels don't wrap, we can say that the whole vector doesn't
|
||||
* wrap.
|
||||
*/
|
||||
|
||||
@@ -272,10 +272,3 @@ dEQP-VK.pipeline.shader_object_linked_binary.pipeline_cache.robustness2.storage,
|
||||
dEQP-VK.pipeline.shader_object_linked_spirv.pipeline_cache.robustness2.storage,Fail
|
||||
dEQP-VK.pipeline.shader_object_unlinked_binary.pipeline_cache.robustness2.storage,Fail
|
||||
dEQP-VK.pipeline.shader_object_unlinked_spirv.pipeline_cache.robustness2.storage,Fail
|
||||
|
||||
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.signed_zero_sub_var_preserve,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_frag,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage_frag,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_nostorage_vert,Fail
|
||||
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp16.generated_args.signed_zero_sub_var_preserve_vert,Fail
|
||||
|
||||
Reference in New Issue
Block a user