vkd3d-shader/hlsl: Tessellation shader semantic fixes.
1 open thread
Fixes Wither 3's NVIDIA HairWorks in DX11 mode (once geometry shader support is merged).
Edited by Shaun Ren
Merge request reports
Activity
From 4/6:
- *sysval_semantic = semantics[i].semantic; + if ((is_patch_constant_func && output) || (version->type == VKD3D_SHADER_TYPE_DOMAIN && !output)) + *sysval_semantic = semantics[i].semantic == ~0u ? ~0u : VKD3D_SHADER_SV_NONE; + else + *sysval_semantic = semantics[i].semantic;
Wouldn't it be a bit simpler to write
+ if (((is_patch_constant_func && output) || (version->type == VKD3D_SHADER_TYPE_DOMAIN && !output)) && semantics[i].semantic != ~0u) + *sysval_semantic = VKD3D_SHADER_SV_NONE; + else + *sysval_semantic = semantics[i].semantic;
Why do we need the domain input special case here? Can't we just put the other ones as SV_NONE in the table?
added 41 commits
-
677fe551...70655012 - 35 commits from branch
wine:master
- d1df10ac - vkd3d-shader/hlsl: Use dcl_output_siv for patch constant function sysval outputs.
- ec2f18ab - vkd3d-shader/hlsl: Free all allocators in allocate_semantic_registers().
- 05f8dd82 - vkd3d-shader/hlsl: Prioritize smaller writemasks for all allocators in...
- d3b32fef - vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex/SV_ViewportArrayIndex...
- 7ba84b77 - tests: Add signature reflection tests for register allocation rules in tessellation shaders.
- 0c139ef7 - vkd3d-shader/hlsl: Add special allocation rules for patch constant data.
Toggle commit list-
677fe551...70655012 - 35 commits from branch
Please register or sign in to reply