From: Elizabeth Figura zfigura@codeweavers.com
--- dlls/wined3d/glsl_shader.c | 4 ++++ dlls/wined3d/shader_spirv.c | 2 ++ 2 files changed, 6 insertions(+)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 6c9f308b9f8..7ff9ce0427b 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -11402,6 +11402,8 @@ static void shader_glsl_get_caps(const struct wined3d_adapter *adapter, struct s
TRACE("Shader model %u.\n", shader_model);
+ memset(caps, 0, sizeof(*caps)); + caps->vs_version = min(wined3d_settings.max_sm_vs, shader_model); caps->hs_version = min(wined3d_settings.max_sm_hs, shader_model); caps->ds_version = min(wined3d_settings.max_sm_ds, shader_model); @@ -11743,6 +11745,8 @@ static void glsl_vertex_pipe_vp_get_caps(const struct wined3d_adapter *adapter, { const struct wined3d_gl_info *gl_info = &wined3d_adapter_gl_const(adapter)->gl_info;
+ memset(caps, 0, sizeof(*caps)); + caps->emulated_flatshading = !needs_legacy_glsl_syntax(gl_info); caps->max_active_lights = WINED3D_MAX_ACTIVE_LIGHTS; caps->max_vertex_blend_matrices = MAX_VERTEX_BLENDS; diff --git a/dlls/wined3d/shader_spirv.c b/dlls/wined3d/shader_spirv.c index 51567c3d280..81600a7a459 100644 --- a/dlls/wined3d/shader_spirv.c +++ b/dlls/wined3d/shader_spirv.c @@ -1065,6 +1065,8 @@ static void shader_spirv_init_context_state(struct wined3d_context *context)
static void shader_spirv_get_caps(const struct wined3d_adapter *adapter, struct shader_caps *caps) { + memset(caps, 0, sizeof(*caps)); + caps->vs_version = min(wined3d_settings.max_sm_vs, 5); caps->hs_version = min(wined3d_settings.max_sm_hs, 5); caps->ds_version = min(wined3d_settings.max_sm_ds, 5);