vkd3d-shader/tpf: Improve readability of compat mapping in sm4_sysval_semantic_from_semantic_name().

This commit is contained in:
Shaun Ren
2025-01-24 14:25:30 -05:00
committed by Henri Verbeet
parent 29abe73918
commit aa29d0a2e5
Notes: Henri Verbeet 2025-02-03 16:40:17 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Elizabeth Figura (@zfigura)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1362

View File

@@ -3131,7 +3131,7 @@ bool sm4_sysval_semantic_from_semantic_name(enum vkd3d_shader_sysval_semantic *s
{"sv_rendertargetarrayindex", true, VKD3D_SHADER_TYPE_VERTEX, VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX}, {"sv_rendertargetarrayindex", true, VKD3D_SHADER_TYPE_VERTEX, VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX},
{"sv_viewportarrayindex", true, VKD3D_SHADER_TYPE_VERTEX, VKD3D_SHADER_SV_VIEWPORT_ARRAY_INDEX}, {"sv_viewportarrayindex", true, VKD3D_SHADER_TYPE_VERTEX, VKD3D_SHADER_SV_VIEWPORT_ARRAY_INDEX},
}; };
bool needs_compat_mapping = ascii_strncasecmp(semantic_name, "sv_", 3); bool has_sv_prefix = !ascii_strncasecmp(semantic_name, "sv_", 3);
if (is_patch_constant_func) if (is_patch_constant_func)
{ {
@@ -3173,7 +3173,7 @@ bool sm4_sysval_semantic_from_semantic_name(enum vkd3d_shader_sysval_semantic *s
{ {
if (!ascii_strcasecmp(semantic_name, semantics[i].name) if (!ascii_strcasecmp(semantic_name, semantics[i].name)
&& output == semantics[i].output && output == semantics[i].output
&& (semantic_compat_mapping == needs_compat_mapping || !needs_compat_mapping) && (semantic_compat_mapping || has_sv_prefix)
&& version->type == semantics[i].shader_type) && version->type == semantics[i].shader_type)
{ {
*sysval_semantic = semantics[i].semantic; *sysval_semantic = semantics[i].semantic;
@@ -3181,7 +3181,7 @@ bool sm4_sysval_semantic_from_semantic_name(enum vkd3d_shader_sysval_semantic *s
} }
} }
if (!needs_compat_mapping) if (has_sv_prefix)
return false; return false;
*sysval_semantic = VKD3D_SHADER_SV_NONE; *sysval_semantic = VKD3D_SHADER_SV_NONE;