wined3d: Don't apply fixups to converted surfaces.

This commit is contained in:
Henri Verbeet 2011-11-24 22:52:32 +01:00 committed by Alexandre Julliard
parent 855d32d38a
commit 24775459c8
2 changed files with 11 additions and 1 deletions

View File

@ -7137,6 +7137,15 @@ static HRESULT arbfp_blit_set(void *blit_priv, struct wined3d_context *context,
GLenum textype = surface->texture_target;
const struct wined3d_gl_info *gl_info = context->gl_info;
if (surface->flags & SFLAG_CONVERTED)
{
ENTER_GL();
glEnable(textype);
checkGLcall("glEnable(textype)");
LEAVE_GL();
return WINED3D_OK;
}
if (!is_complex_fixup(surface->resource.format->color_fixup))
{
TRACE("Fixup:\n");

View File

@ -6229,7 +6229,8 @@ static HRESULT ffp_blit_set(void *blit_priv, struct wined3d_context *context, co
/* When EXT_PALETTED_TEXTURE is around, palette conversion is done by the GPU
* else the surface is converted in software at upload time in LoadLocation.
*/
if(fixup == COMPLEX_FIXUP_P8 && context->gl_info->supported[EXT_PALETTED_TEXTURE])
if (!(surface->flags & SFLAG_CONVERTED) && fixup == COMPLEX_FIXUP_P8
&& context->gl_info->supported[EXT_PALETTED_TEXTURE])
ffp_blit_p8_upload_palette(surface, context->gl_info);
ENTER_GL();