vkd3d-shader/hlsl: Improve SM1 support for non-float operations, part 6.
This should be the last piece of the puzzle for SNK games.
Basically, support for "if" conditionals for shader model 3.0 and 4.0.
This is achieved through the use of the if_comp
instruction (VKD3DSIH_IFC), but these are not handled by the cf_flattener.
So I wrote vsir_program_lower_ifc()
as a normalization pass to turn them into VKD3DSIH_IF in 3/4.
This requires translating the condition of IFC into a separate vsir comparison instruction. I think I got the mapping right in get_handler_idx_from_rel_op()
but it would be good if someone with more experience in SPIR-V takes a close look.
Merge request reports
Activity
Please register or sign in to reply