[PATCH 3/5] wined3d: Don't try to apply format fixups for SM4+ shaders.
Henri Verbeet
hverbeet at codeweavers.com
Tue Apr 28 13:30:53 CDT 2015
---
dlls/wined3d/glsl_shader.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index ff884f9..132ecdf 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -2765,7 +2765,10 @@ static void PRINTF_ATTR(8, 9) shader_glsl_gen_sample_code(const struct wined3d_s
shader_glsl_swizzle_to_str(swizzle, FALSE, ins->dst[0].write_mask, dst_swizzle);
- if (version->type == WINED3D_SHADER_TYPE_PIXEL)
+ /* FIXME: We currently don't support fixups for vertex shaders or anything
+ * above SM3. Note that for SM4+ the sampler index doesn't have to match
+ * the resource index. */
+ if (version->type == WINED3D_SHADER_TYPE_PIXEL && version->major < 4)
{
const struct shader_glsl_ctx_priv *priv = ins->ctx->backend_data;
fixup = priv->cur_ps_args->color_fixup[sampler];
@@ -2780,7 +2783,7 @@ static void PRINTF_ATTR(8, 9) shader_glsl_gen_sample_code(const struct wined3d_s
}
else
{
- fixup = COLOR_FIXUP_IDENTITY; /* FIXME: Vshader color fixup */
+ fixup = COLOR_FIXUP_IDENTITY;
}
shader_glsl_append_dst_ext(ins->ctx->buffer, ins, &ins->dst[0], sample_function->data_type);
--
1.7.10.4
More information about the wine-patches
mailing list