wined3d: Use the same flags for wined3d_texture_set_color_key() and the "color_key_flags" field it sets.

This fixes a regression introduced by commit a8ab569415.
oldstable
Henri Verbeet 2015-01-19 13:44:11 +01:00 committed by Alexandre Julliard
parent 6b4623008f
commit ca06f960ed
6 changed files with 40 additions and 63 deletions

View File

@ -616,7 +616,7 @@ static void device_load_logo(struct wined3d_device *device, const char *filename
color_key.color_space_low_value = 0;
color_key.color_space_high_value = 0;
wined3d_texture_set_color_key(device->logo_texture, WINEDDCKEY_SRCBLT, &color_key);
wined3d_texture_set_color_key(device->logo_texture, WINED3D_CKEY_SRC_BLT, &color_key);
}
else
{

View File

@ -535,7 +535,7 @@ static void state_alpha(struct wined3d_context *context, const struct wined3d_st
* WINED3D_RS_COLORKEYENABLE state(which is d3d <= 3 only). The texture
* function will call alpha in case it finds some texture + colorkeyenable
* combination which needs extra care. */
if (state->textures[0] && (state->textures[0]->color_key_flags & WINEDDSD_CKSRCBLT))
if (state->textures[0] && (state->textures[0]->color_key_flags & WINED3D_CKEY_SRC_BLT))
enable_ckey = TRUE;
if (enable_ckey || context->last_was_ckey)
@ -3214,7 +3214,7 @@ void tex_alphaop(struct wined3d_context *context, const struct wined3d_state *st
if (texture_dimensions == GL_TEXTURE_2D || texture_dimensions == GL_TEXTURE_RECTANGLE_ARB)
{
if (texture->color_key_flags & WINEDDSD_CKSRCBLT && !texture->resource.format->alpha_size)
if (texture->color_key_flags & WINED3D_CKEY_SRC_BLT && !texture->resource.format->alpha_size)
{
/* Color keying needs to pass alpha values from the texture through to have the alpha test work
* properly. On the other hand applications can still use texture combiners apparently. This code

View File

@ -1821,11 +1821,11 @@ void surface_load(struct wined3d_surface *surface, BOOL srgb)
if (surface->resource.pool == WINED3D_POOL_SCRATCH)
ERR("Not supported on scratch surfaces.\n");
ck_changed = !(surface->flags & SFLAG_GLCKEY) != !(surface->container->color_key_flags & WINEDDSD_CKSRCBLT);
ck_changed = !(surface->flags & SFLAG_GLCKEY) != !(surface->container->color_key_flags & WINED3D_CKEY_SRC_BLT);
/* Reload if either the texture and sysmem have different ideas about the
* color key, or the actual key values changed. */
if (ck_changed || ((surface->container->color_key_flags & WINEDDSD_CKSRCBLT)
if (ck_changed || ((surface->container->color_key_flags & WINED3D_CKEY_SRC_BLT)
&& (surface->gl_color_key.color_space_low_value
!= surface->container->src_blt_color_key.color_space_low_value
|| surface->gl_color_key.color_space_high_value
@ -3685,12 +3685,12 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
else if (flags & WINEDDBLT_KEYSRCOVERRIDE)
{
/* Use color key from DDBltFx */
wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT, &DDBltFx->ddckSrcColorkey);
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT, &DDBltFx->ddckSrcColorkey);
}
else
{
/* Do not use color key */
wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT, NULL);
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT, NULL);
}
surface_blt_to_drawable(device, filter,
@ -3698,8 +3698,8 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
src_surface, src_rect, dst_surface, dst_rect);
/* Restore the color key parameters */
wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT,
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);
surface_validate_location(dst_surface, dst_surface->container->resource.draw_binding);
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
@ -4178,7 +4178,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
wined3d_texture_prepare_texture(texture, context, srgb);
wined3d_texture_bind_and_dirtify(texture, context, srgb);
if (texture->color_key_flags & WINEDDSD_CKSRCBLT)
if (texture->color_key_flags & WINED3D_CKEY_SRC_BLT)
{
surface->flags |= SFLAG_GLCKEY;
surface->gl_color_key = texture->src_blt_color_key;

View File

@ -557,7 +557,7 @@ HRESULT CDECL wined3d_texture_set_color_key(struct wined3d_texture *texture,
{
TRACE("texture %p, flags %#x, color_key %p.\n", texture, flags, color_key);
if (flags & WINEDDCKEY_COLORSPACE)
if (flags & WINED3D_CKEY_COLORSPACE)
{
FIXME("Unhandled flags %#x.\n", flags);
return WINED3DERR_INVALIDCALL;
@ -565,47 +565,47 @@ HRESULT CDECL wined3d_texture_set_color_key(struct wined3d_texture *texture,
if (color_key)
{
switch (flags & ~WINEDDCKEY_COLORSPACE)
switch (flags & ~WINED3D_CKEY_COLORSPACE)
{
case WINEDDCKEY_DESTBLT:
case WINED3D_CKEY_DST_BLT:
texture->dst_blt_color_key = *color_key;
texture->color_key_flags |= WINEDDSD_CKDESTBLT;
texture->color_key_flags |= WINED3D_CKEY_DST_BLT;
break;
case WINEDDCKEY_DESTOVERLAY:
case WINED3D_CKEY_DST_OVERLAY:
texture->dst_overlay_color_key = *color_key;
texture->color_key_flags |= WINEDDSD_CKDESTOVERLAY;
texture->color_key_flags |= WINED3D_CKEY_DST_OVERLAY;
break;
case WINEDDCKEY_SRCOVERLAY:
texture->src_overlay_color_key = *color_key;
texture->color_key_flags |= WINEDDSD_CKSRCOVERLAY;
break;
case WINEDDCKEY_SRCBLT:
case WINED3D_CKEY_SRC_BLT:
texture->src_blt_color_key = *color_key;
texture->color_key_flags |= WINEDDSD_CKSRCBLT;
texture->color_key_flags |= WINED3D_CKEY_SRC_BLT;
break;
case WINED3D_CKEY_SRC_OVERLAY:
texture->src_overlay_color_key = *color_key;
texture->color_key_flags |= WINED3D_CKEY_SRC_OVERLAY;
break;
}
}
else
{
switch (flags & ~WINEDDCKEY_COLORSPACE)
switch (flags & ~WINED3D_CKEY_COLORSPACE)
{
case WINEDDCKEY_DESTBLT:
texture->color_key_flags &= ~WINEDDSD_CKDESTBLT;
case WINED3D_CKEY_DST_BLT:
texture->color_key_flags &= ~WINED3D_CKEY_DST_BLT;
break;
case WINEDDCKEY_DESTOVERLAY:
texture->color_key_flags &= ~WINEDDSD_CKDESTOVERLAY;
case WINED3D_CKEY_DST_OVERLAY:
texture->color_key_flags &= ~WINED3D_CKEY_DST_OVERLAY;
break;
case WINEDDCKEY_SRCOVERLAY:
texture->color_key_flags &= ~WINEDDSD_CKSRCOVERLAY;
case WINED3D_CKEY_SRC_BLT:
texture->color_key_flags &= ~WINED3D_CKEY_SRC_BLT;
break;
case WINEDDCKEY_SRCBLT:
texture->color_key_flags &= ~WINEDDSD_CKSRCBLT;
case WINED3D_CKEY_SRC_OVERLAY:
texture->color_key_flags &= ~WINED3D_CKEY_SRC_OVERLAY;
break;
}
}

View File

@ -795,7 +795,7 @@ const struct wined3d_color_key_conversion * wined3d_format_get_color_key_convers
WINED3DFMT_B8G8R8A8_UNORM, convert_p8_uint_b8g8r8a8_unorm
};
if (need_alpha_ck && (texture->color_key_flags & WINEDDSD_CKSRCBLT))
if (need_alpha_ck && (texture->color_key_flags & WINED3D_CKEY_SRC_BLT))
{
for (i = 0; i < sizeof(color_key_info) / sizeof(*color_key_info); ++i)
{
@ -3527,7 +3527,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
if (texture_dimensions == GL_TEXTURE_2D || texture_dimensions == GL_TEXTURE_RECTANGLE_ARB)
{
if (texture->color_key_flags & WINEDDSD_CKSRCBLT && !texture->resource.format->alpha_size)
if (texture->color_key_flags & WINED3D_CKEY_SRC_BLT && !texture->resource.format->alpha_size)
{
if (aop == WINED3D_TOP_DISABLE)
{

View File

@ -1246,6 +1246,12 @@ enum wined3d_display_rotation
#define WINED3D_RESZ_CODE 0x7fa05000
#define WINED3D_CKEY_COLORSPACE 0x00000001
#define WINED3D_CKEY_DST_BLT 0x00000002
#define WINED3D_CKEY_DST_OVERLAY 0x00000004
#define WINED3D_CKEY_SRC_BLT 0x00000008
#define WINED3D_CKEY_SRC_OVERLAY 0x00000010
/* dwDDFX */
/* arithmetic stretching along y axis */
#define WINEDDBLTFX_ARITHSTRETCHY 0x00000001
@ -1296,35 +1302,6 @@ enum wined3d_display_rotation
#define WINEDDBLT_DONOTWAIT 0x08000000
#define WINEDDBLT_ALPHATEST 0x80000000
/* DDSURFACEDESC.dwFlags */
#define WINEDDSD_CAPS 0x00000001
#define WINEDDSD_HEIGHT 0x00000002
#define WINEDDSD_WIDTH 0x00000004
#define WINEDDSD_PITCH 0x00000008
#define WINEDDSD_BACKBUFFERCOUNT 0x00000020
#define WINEDDSD_ZBUFFERBITDEPTH 0x00000040
#define WINEDDSD_ALPHABITDEPTH 0x00000080
#define WINEDDSD_LPSURFACE 0x00000800
#define WINEDDSD_PIXELFORMAT 0x00001000
#define WINEDDSD_CKDESTOVERLAY 0x00002000
#define WINEDDSD_CKDESTBLT 0x00004000
#define WINEDDSD_CKSRCOVERLAY 0x00008000
#define WINEDDSD_CKSRCBLT 0x00010000
#define WINEDDSD_MIPMAPCOUNT 0x00020000
#define WINEDDSD_REFRESHRATE 0x00040000
#define WINEDDSD_LINEARSIZE 0x00080000
#define WINEDDSD_TEXTURESTAGE 0x00100000
#define WINEDDSD_FVF 0x00200000
#define WINEDDSD_SRCVBHANDLE 0x00400000
#define WINEDDSD_ALL 0x007ff9ee
/* Set/Get Colour Key Flags */
#define WINEDDCKEY_COLORSPACE 0x00000001 /* Struct is single colour space */
#define WINEDDCKEY_DESTBLT 0x00000002 /* To be used as dest for blt */
#define WINEDDCKEY_DESTOVERLAY 0x00000004 /* To be used as dest for CK overlays */
#define WINEDDCKEY_SRCBLT 0x00000008 /* To be used as src for blt */
#define WINEDDCKEY_SRCOVERLAY 0x00000010 /* To be used as src for CK overlays */
/* dwFlags for GetBltStatus */
#define WINEDDGBS_CANBLT 0x00000001
#define WINEDDGBS_ISBLTDONE 0x00000002