Matteo Bruni : wined3d: Skip non-color outputs in SM4 shader output mapping.

Alexandre Julliard julliard at winehq.org
Wed Feb 9 16:03:51 CST 2022


Module: wine
Branch: master
Commit: ee78b46e8a7d139c6f17484c455a1d4ccd3d2ce6
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ee78b46e8a7d139c6f17484c455a1d4ccd3d2ce6

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Wed Feb  9 16:50:02 2022 +0100

wined3d: Skip non-color outputs in SM4 shader output mapping.

Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);




More information about the wine-cvs mailing list