=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Pass fully initialized shader objects to CS.

Alexandre Julliard julliard at winehq.org
Mon Mar 26 16:01:22 CDT 2018


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Mon Mar 26 08:38:49 2018 +0200

wined3d: Pass fully initialized shader objects to CS.

It shouldn't matter right now, but it might be an issue when we start to
precompile other shader types than compute shaders.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/shader.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index 2a047fa..93079e8 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -3685,8 +3685,6 @@ static HRESULT shader_init(struct wined3d_shader *shader, struct wined3d_device
 
     shader->load_local_constsF = shader->lconst_inf_or_nan;
 
-    wined3d_cs_init_object(shader->device->cs, wined3d_shader_init_object, shader);
-
     return hr;
 }
 
@@ -4118,6 +4116,8 @@ HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created compute shader %p.\n", object);
     *shader = object;
 
@@ -4143,6 +4143,8 @@ HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created domain shader %p.\n", object);
     *shader = object;
 
@@ -4169,6 +4171,8 @@ HRESULT CDECL wined3d_shader_create_gs(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created geometry shader %p.\n", object);
     *shader = object;
 
@@ -4194,6 +4198,8 @@ HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created hull shader %p.\n", object);
     *shader = object;
 
@@ -4219,6 +4225,8 @@ HRESULT CDECL wined3d_shader_create_ps(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created pixel shader %p.\n", object);
     *shader = object;
 
@@ -4244,6 +4252,8 @@ HRESULT CDECL wined3d_shader_create_vs(struct wined3d_device *device, const stru
         return hr;
     }
 
+    wined3d_cs_init_object(device->cs, wined3d_shader_init_object, object);
+
     TRACE("Created vertex shader %p.\n", object);
     *shader = object;
 




More information about the wine-cvs mailing list