[Git][wine/vkd3d][master] 7 commits: vkd3d-shader/hlsl: Dump the jump condition node in dump_ir_jump().
Henri Verbeet pushed to branch master at wine / vkd3d Commits: cd9a5bf2 by Shaun Ren at 2025-10-30T16:32:30+01:00 vkd3d-shader/hlsl: Dump the jump condition node in dump_ir_jump(). - - - - - 2ba53e06 by Shaun Ren at 2025-10-30T17:46:04+01:00 tests/hlsl: Add some conditional flattening tests. - - - - - cf688f87 by Shaun Ren at 2025-10-30T17:46:12+01:00 vkd3d-shader/hlsl: Cast discard_neg conditions to vec4 for d3dbc target profiles. - - - - - 200e66ba by Shaun Ren at 2025-10-30T17:46:12+01:00 vkd3d-shader/hlsl: Store the flatten type in struct hlsl_ir_if. - - - - - 4d5a1528 by Shaun Ren at 2025-10-30T17:46:12+01:00 vkd3d-shader/hlsl: Flatten conditional branches containing stores. For an if block if (cond) { <then_block> } else { <else_block> } We flatten it by first replacing any store instruction `v[[k]] = x` in the then_block with the following: 1: load(v[[k]]) 2: cond ? x : @1 3: v[[k]] = @2 Similarly, we replace any store instruction `v[[k]] = x` in the else_block with the following: 1: load(v[[k]]) 2: cond ? @1 : x 3: v[[k]] = @2 Then we can concatenate <then_block> and <else_block> together and get rid of the if block. - - - - - 787d49d6 by Shaun Ren at 2025-10-30T17:46:12+01:00 vkd3d-shader/hlsl: Flatten conditional blocks containing discard_nz instructions. For any `discard_nz c` instruction in a conditional block, we replace c with (cond && c) in a then block, and (!cond && c) in an else block. - - - - - 59b87c76 by Shaun Ren at 2025-10-30T17:46:12+01:00 vkd3d-shader/hlsl: Flatten conditional blocks containing discard_neg instructions. For any `discard_neg c` instruction in a conditional block, we replace c with cond ? c : 0 in a then block, and cond ? 0 : c in an else block. - - - - - 13 changed files: - libs/vkd3d-shader/hlsl.c - libs/vkd3d-shader/hlsl.h - libs/vkd3d-shader/hlsl.y - libs/vkd3d-shader/hlsl_codegen.c - libs/vkd3d-shader/vkd3d_shader_private.h - tests/hlsl/cf-cond-types.shader_test - tests/hlsl/conditional.shader_test - tests/hlsl/discard.shader_test - tests/hlsl/for.shader_test - tests/hlsl/function-return.shader_test - tests/hlsl/hard-copy-prop.shader_test - tests/hlsl/return.shader_test - tests/hlsl/unroll.shader_test View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/39391230d27d58f4e7e8786ba32a0... -- View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/39391230d27d58f4e7e8786ba32a0... You're receiving this email because of your account on gitlab.winehq.org.
participants (1)
-
Henri Verbeet (@hverbeet)