From: Elizabeth Figura <zfigura(a)codeweavers.com> --- dlls/wined3d/ffp_hlsl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/ffp_hlsl.c b/dlls/wined3d/ffp_hlsl.c index d8e2c751a4d..a0d848a9c8f 100644 --- a/dlls/wined3d/ffp_hlsl.c +++ b/dlls/wined3d/ffp_hlsl.c @@ -619,9 +619,6 @@ static bool ffp_hlsl_generate_pixel_shader(const struct ffp_frag_settings *setti uint8_t tex_map = 0; unsigned int i; - if (settings->color_key_enabled) - FIXME("Ignoring color key.\n"); - /* Find out which textures are read. */ for (i = 0; i < WINED3D_MAX_FFP_TEXTURES; ++i) { @@ -840,6 +837,12 @@ static bool ffp_hlsl_generate_pixel_shader(const struct ffp_frag_settings *setti } } + if (settings->color_key_enabled) + { + shader_addline(buffer, " if (all(tex0 >= c.color_key[0]) && all(tex0 < c.color_key[1]))\n"); + shader_addline(buffer, " discard;\n"); + } + shader_addline(buffer, " ret = i.diffuse;\n"); for (i = 0; i < WINED3D_MAX_FFP_TEXTURES; ++i) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6933