[PATCH 3/5] wined3d: Skip non-color outputs in SM4 shader output mapping.

Matteo Bruni mbruni at codeweavers.com
Wed Feb 9 09:50:02 CST 2022


Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
Seen in an Hellblade: Senua's Sacrifice log and elsewhere.

 dlls/wined3d/shader_sm4.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index 5afe612da21..061ab51d024 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -1320,6 +1320,9 @@ static void *shader_sm4_init(const DWORD *byte_code, size_t byte_code_size,
     {
         struct wined3d_shader_signature_element *e = &output_signature->elements[i];
 
+        if (priv->shader_version.type == WINED3D_SHADER_TYPE_PIXEL
+                && _strnicmp(e->semantic_name, "SV_TARGET", -1))
+            continue;
         if (e->register_idx >= ARRAY_SIZE(priv->output_map))
         {
             WARN("Invalid output index %u.\n", e->register_idx);
-- 
2.34.1




More information about the wine-devel mailing list