[PATCH 3/5] wined3d: Dirtify pixel shader on texture format change.

Matteo Bruni mbruni at codeweavers.com
Wed Oct 29 12:01:52 CDT 2014


The following 3Dc test (in its current form) fails without this,
because we fail to update the color fixup between the ATI1N and the
ATI2N texture test.
---
 dlls/wined3d/cs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
index bdd86c8..eaa8cae 100644
--- a/dlls/wined3d/cs.c
+++ b/dlls/wined3d/cs.c
@@ -639,7 +639,8 @@ static void wined3d_cs_exec_set_texture(struct wined3d_cs *cs, const void *data)
         if (InterlockedIncrement(&op->texture->resource.bind_count) == 1)
             op->texture->sampler = op->stage;
 
-        if (!prev || op->texture->target != prev->target)
+        if (!prev || op->texture->target != prev->target
+                || op->texture->resource.format != prev->resource.format)
             device_invalidate_state(cs->device, STATE_SHADER(WINED3D_SHADER_TYPE_PIXEL));
 
         if (!prev && op->stage < d3d_info->limits.ffp_blend_stages)
-- 
2.0.4




More information about the wine-patches mailing list