Skip to content
Snippets Groups Projects

vkd3d-shader/hlsl: Improve SM1 support for non-float operations, part 6.

Merged Francisco Casas requested to merge fcasas/vkd3d:sm1_logic into master

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

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading