From: Roderick Colenbrander Date: Tue, 2 Mar 2010 15:21:45 +0000 (+0100) Subject: wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using... X-Git-Tag: wine-1.1.40~98 X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=922ad80f42e54dddf5ac889e271d048ca0e9c613;p=wine%2Feterwine.git wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using the same code. --- diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 519f9c877a..6e47116e58 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -1161,10 +1161,10 @@ static void gen_color_correction(struct wined3d_shader_buffer *buffer, const cha { DWORD mask; - if (is_yuv_fixup(fixup)) + if (is_complex_fixup(fixup)) { - enum yuv_fixup yuv_fixup = get_yuv_fixup(fixup); - FIXME("YUV fixup (%#x) not supported\n", yuv_fixup); + enum complex_fixup complex_fixup = get_complex_fixup(fixup); + FIXME("Complex fixup (%#x) not supported\n", complex_fixup); return; } @@ -4673,8 +4673,8 @@ static BOOL shader_arb_color_fixup_supported(struct color_fixup_desc fixup) dump_color_fixup_desc(fixup); } - /* We support everything except YUV conversions. */ - if (!is_yuv_fixup(fixup)) + /* We support everything except complex conversions. */ + if (!is_complex_fixup(fixup)) { TRACE("[OK]\n"); return TRUE; @@ -6260,13 +6260,13 @@ static void arbfp_blit_free(IWineD3DDevice *iface) { device->blit_priv = NULL; } -static BOOL gen_planar_yuv_read(struct wined3d_shader_buffer *buffer, enum yuv_fixup yuv_fixup, +static BOOL gen_planar_yuv_read(struct wined3d_shader_buffer *buffer, enum complex_fixup fixup, GLenum textype, char *luminance) { char chroma; const char *tex, *texinstr; - if (yuv_fixup == YUV_FIXUP_UYVY) { + if (fixup == COMPLEX_FIXUP_UYVY) { chroma = 'x'; *luminance = 'w'; } else { @@ -6495,7 +6495,7 @@ static BOOL gen_yv12_read(struct wined3d_shader_buffer *buffer, GLenum textype, } /* Context activation is done by the caller. */ -static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum yuv_fixup yuv_fixup, GLenum textype) +static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum complex_fixup yuv_fixup, GLenum textype) { GLenum shader; struct wined3d_shader_buffer buffer; @@ -6568,8 +6568,8 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum yuv_fixup yuv_fixu switch (yuv_fixup) { - case YUV_FIXUP_UYVY: - case YUV_FIXUP_YUY2: + case COMPLEX_FIXUP_UYVY: + case COMPLEX_FIXUP_YUY2: if (!gen_planar_yuv_read(&buffer, yuv_fixup, textype, &luminance_component)) { shader_buffer_free(&buffer); @@ -6577,7 +6577,7 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum yuv_fixup yuv_fixu } break; - case YUV_FIXUP_YV12: + case COMPLEX_FIXUP_YV12: if (!gen_yv12_read(&buffer, textype, &luminance_component)) { shader_buffer_free(&buffer); @@ -6629,17 +6629,17 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum yuv_fixup yuv_fixu switch (yuv_fixup) { - case YUV_FIXUP_YUY2: + case COMPLEX_FIXUP_YUY2: if (textype == GL_TEXTURE_RECTANGLE_ARB) priv->yuy2_rect_shader = shader; else priv->yuy2_2d_shader = shader; break; - case YUV_FIXUP_UYVY: + case COMPLEX_FIXUP_UYVY: if (textype == GL_TEXTURE_RECTANGLE_ARB) priv->uyvy_rect_shader = shader; else priv->uyvy_2d_shader = shader; break; - case YUV_FIXUP_YV12: + case COMPLEX_FIXUP_YV12: if (textype == GL_TEXTURE_RECTANGLE_ARB) priv->yv12_rect_shader = shader; else priv->yv12_2d_shader = shader; break; @@ -6656,9 +6656,9 @@ static HRESULT arbfp_blit_set(IWineD3DDevice *iface, const struct GlPixelFormatD IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *) iface; float size[4] = {width, height, 1, 1}; struct arbfp_blit_priv *priv = device->blit_priv; - enum yuv_fixup yuv_fixup; + enum complex_fixup fixup; - if (!is_yuv_fixup(format_desc->color_fixup)) + if (!is_complex_fixup(format_desc->color_fixup)) { TRACE("Fixup:\n"); dump_color_fixup_desc(format_desc->color_fixup); @@ -6670,24 +6670,24 @@ static HRESULT arbfp_blit_set(IWineD3DDevice *iface, const struct GlPixelFormatD return WINED3D_OK; } - yuv_fixup = get_yuv_fixup(format_desc->color_fixup); + fixup = get_complex_fixup(format_desc->color_fixup); - switch(yuv_fixup) + switch(fixup) { - case YUV_FIXUP_YUY2: + case COMPLEX_FIXUP_YUY2: shader = textype == GL_TEXTURE_RECTANGLE_ARB ? priv->yuy2_rect_shader : priv->yuy2_2d_shader; break; - case YUV_FIXUP_UYVY: + case COMPLEX_FIXUP_UYVY: shader = textype == GL_TEXTURE_RECTANGLE_ARB ? priv->uyvy_rect_shader : priv->uyvy_2d_shader; break; - case YUV_FIXUP_YV12: + case COMPLEX_FIXUP_YV12: shader = textype == GL_TEXTURE_RECTANGLE_ARB ? priv->yv12_rect_shader : priv->yv12_2d_shader; break; default: - FIXME("Unsupported YUV fixup %#x, not setting a shader\n", yuv_fixup); + FIXME("Unsupported YUV fixup %#x, not setting a shader\n", fixup); ENTER_GL(); glEnable(textype); checkGLcall("glEnable(textype)"); @@ -6695,7 +6695,7 @@ static HRESULT arbfp_blit_set(IWineD3DDevice *iface, const struct GlPixelFormatD return E_NOTIMPL; } - if (!shader) shader = gen_yuv_shader(device, yuv_fixup, textype); + if (!shader) shader = gen_yuv_shader(device, fixup, textype); ENTER_GL(); glEnable(GL_FRAGMENT_PROGRAM_ARB); @@ -6734,7 +6734,7 @@ static void arbfp_blit_unset(IWineD3DDevice *iface) { static BOOL arbfp_blit_color_fixup_supported(struct color_fixup_desc fixup) { - enum yuv_fixup yuv_fixup; + enum complex_fixup complex_fixup; if (TRACE_ON(d3d_shader) && TRACE_ON(d3d)) { @@ -6749,23 +6749,23 @@ static BOOL arbfp_blit_color_fixup_supported(struct color_fixup_desc fixup) } /* We only support YUV conversions. */ - if (!is_yuv_fixup(fixup)) + if (!is_complex_fixup(fixup)) { TRACE("[FAILED]\n"); return FALSE; } - yuv_fixup = get_yuv_fixup(fixup); - switch(yuv_fixup) + complex_fixup = get_complex_fixup(fixup); + switch(complex_fixup) { - case YUV_FIXUP_YUY2: - case YUV_FIXUP_UYVY: - case YUV_FIXUP_YV12: + case COMPLEX_FIXUP_YUY2: + case COMPLEX_FIXUP_UYVY: + case COMPLEX_FIXUP_YV12: TRACE("[OK]\n"); return TRUE; default: - FIXME("Unsupported YUV fixup %#x\n", yuv_fixup); + FIXME("Unsupported YUV fixup %#x\n", complex_fixup); TRACE("[FAILED]\n"); return FALSE; } diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index ca05ebf938..cb23ee6aa0 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -1829,10 +1829,10 @@ static void shader_glsl_color_correction(const struct wined3d_shader_instruction if (!mask) return; /* Nothing to do */ - if (is_yuv_fixup(fixup)) + if (is_complex_fixup(fixup)) { - enum yuv_fixup yuv_fixup = get_yuv_fixup(fixup); - FIXME("YUV fixup (%#x) not supported\n", yuv_fixup); + enum complex_fixup complex_fixup = get_complex_fixup(fixup); + FIXME("Complex fixup (%#x) not supported\n",complex_fixup); return; } @@ -4907,7 +4907,7 @@ static BOOL shader_glsl_color_fixup_supported(struct color_fixup_desc fixup) } /* We support everything except YUV conversions. */ - if (!is_yuv_fixup(fixup)) + if (!is_complex_fixup(fixup)) { TRACE("[OK]\n"); return TRUE; diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 06c49abd65..2dc9522b06 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -1407,7 +1407,7 @@ static BOOL shader_none_color_fixup_supported(struct color_fixup_desc fixup) } /* Faked to make some apps happy. */ - if (!is_yuv_fixup(fixup)) + if (!is_complex_fixup(fixup)) { TRACE("[OK]\n"); return TRUE; diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 55872dfa06..1cef5e98bf 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1088,15 +1088,15 @@ static void apply_format_fixups(struct wined3d_gl_info *gl_info) if (!gl_info->supported[APPLE_YCBCR_422]) { idx = getFmtIdx(WINED3DFMT_YUY2); - gl_info->gl_formats[idx].color_fixup = create_yuv_fixup_desc(YUV_FIXUP_YUY2); + gl_info->gl_formats[idx].color_fixup = create_complex_fixup_desc(COMPLEX_FIXUP_YUY2); idx = getFmtIdx(WINED3DFMT_UYVY); - gl_info->gl_formats[idx].color_fixup = create_yuv_fixup_desc(YUV_FIXUP_UYVY); + gl_info->gl_formats[idx].color_fixup = create_complex_fixup_desc(COMPLEX_FIXUP_UYVY); } idx = getFmtIdx(WINED3DFMT_YV12); gl_info->gl_formats[idx].heightscale = 1.5f; - gl_info->gl_formats[idx].color_fixup = create_yuv_fixup_desc(YUV_FIXUP_YV12); + gl_info->gl_formats[idx].color_fixup = create_complex_fixup_desc(COMPLEX_FIXUP_YV12); if (gl_info->supported[ARB_VERTEX_ARRAY_BGRA]) { @@ -1913,8 +1913,8 @@ static const char *debug_fixup_channel_source(enum fixup_channel_source source) WINED3D_TO_STR(CHANNEL_SOURCE_Y); WINED3D_TO_STR(CHANNEL_SOURCE_Z); WINED3D_TO_STR(CHANNEL_SOURCE_W); - WINED3D_TO_STR(CHANNEL_SOURCE_YUV0); - WINED3D_TO_STR(CHANNEL_SOURCE_YUV1); + WINED3D_TO_STR(CHANNEL_SOURCE_COMPLEX0); + WINED3D_TO_STR(CHANNEL_SOURCE_COMPLEX1); #undef WINED3D_TO_STR default: FIXME("Unrecognized fixup_channel_source %#x\n", source); @@ -1922,26 +1922,26 @@ static const char *debug_fixup_channel_source(enum fixup_channel_source source) } } -static const char *debug_yuv_fixup(enum yuv_fixup yuv_fixup) +static const char *debug_complex_fixup(enum complex_fixup fixup) { - switch(yuv_fixup) + switch(fixup) { #define WINED3D_TO_STR(x) case x: return #x - WINED3D_TO_STR(YUV_FIXUP_YUY2); - WINED3D_TO_STR(YUV_FIXUP_UYVY); - WINED3D_TO_STR(YUV_FIXUP_YV12); + WINED3D_TO_STR(COMPLEX_FIXUP_YUY2); + WINED3D_TO_STR(COMPLEX_FIXUP_UYVY); + WINED3D_TO_STR(COMPLEX_FIXUP_YV12); #undef WINED3D_TO_STR default: - FIXME("Unrecognized YUV fixup %#x\n", yuv_fixup); + FIXME("Unrecognized complex fixup %#x\n", fixup); return "unrecognized"; } } void dump_color_fixup_desc(struct color_fixup_desc fixup) { - if (is_yuv_fixup(fixup)) + if (is_complex_fixup(fixup)) { - TRACE("\tYUV: %s\n", debug_yuv_fixup(get_yuv_fixup(fixup))); + TRACE("\tComplex: %s\n", debug_complex_fixup(get_complex_fixup(fixup))); return; } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 0b0e25c25a..25cd004bd7 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -61,15 +61,15 @@ enum fixup_channel_source CHANNEL_SOURCE_Y = 3, CHANNEL_SOURCE_Z = 4, CHANNEL_SOURCE_W = 5, - CHANNEL_SOURCE_YUV0 = 6, - CHANNEL_SOURCE_YUV1 = 7, + CHANNEL_SOURCE_COMPLEX0 = 6, + CHANNEL_SOURCE_COMPLEX1 = 7, }; -enum yuv_fixup +enum complex_fixup { - YUV_FIXUP_YUY2 = 0, - YUV_FIXUP_UYVY = 1, - YUV_FIXUP_YV12 = 2, + COMPLEX_FIXUP_YUY2 = 0, + COMPLEX_FIXUP_UYVY = 1, + COMPLEX_FIXUP_YV12 = 2, }; #include @@ -103,14 +103,14 @@ static inline struct color_fixup_desc create_color_fixup_desc( return fixup; } -static inline struct color_fixup_desc create_yuv_fixup_desc(enum yuv_fixup yuv_fixup) +static inline struct color_fixup_desc create_complex_fixup_desc(enum complex_fixup complex_fixup) { struct color_fixup_desc fixup = { - 0, yuv_fixup & (1 << 0) ? CHANNEL_SOURCE_YUV1 : CHANNEL_SOURCE_YUV0, - 0, yuv_fixup & (1 << 1) ? CHANNEL_SOURCE_YUV1 : CHANNEL_SOURCE_YUV0, - 0, yuv_fixup & (1 << 2) ? CHANNEL_SOURCE_YUV1 : CHANNEL_SOURCE_YUV0, - 0, yuv_fixup & (1 << 3) ? CHANNEL_SOURCE_YUV1 : CHANNEL_SOURCE_YUV0, + 0, complex_fixup & (1 << 0) ? CHANNEL_SOURCE_COMPLEX1 : CHANNEL_SOURCE_COMPLEX0, + 0, complex_fixup & (1 << 1) ? CHANNEL_SOURCE_COMPLEX1 : CHANNEL_SOURCE_COMPLEX0, + 0, complex_fixup & (1 << 2) ? CHANNEL_SOURCE_COMPLEX1 : CHANNEL_SOURCE_COMPLEX0, + 0, complex_fixup & (1 << 3) ? CHANNEL_SOURCE_COMPLEX1 : CHANNEL_SOURCE_COMPLEX0, }; return fixup; } @@ -120,19 +120,19 @@ static inline BOOL is_identity_fixup(struct color_fixup_desc fixup) return !memcmp(&fixup, &COLOR_FIXUP_IDENTITY, sizeof(fixup)); } -static inline BOOL is_yuv_fixup(struct color_fixup_desc fixup) +static inline BOOL is_complex_fixup(struct color_fixup_desc fixup) { - return fixup.x_source == CHANNEL_SOURCE_YUV0 || fixup.x_source == CHANNEL_SOURCE_YUV1; + return fixup.x_source == CHANNEL_SOURCE_COMPLEX0 || fixup.x_source == CHANNEL_SOURCE_COMPLEX1; } -static inline enum yuv_fixup get_yuv_fixup(struct color_fixup_desc fixup) +static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup) { - enum yuv_fixup yuv_fixup = 0; - if (fixup.x_source == CHANNEL_SOURCE_YUV1) yuv_fixup |= (1 << 0); - if (fixup.y_source == CHANNEL_SOURCE_YUV1) yuv_fixup |= (1 << 1); - if (fixup.z_source == CHANNEL_SOURCE_YUV1) yuv_fixup |= (1 << 2); - if (fixup.w_source == CHANNEL_SOURCE_YUV1) yuv_fixup |= (1 << 3); - return yuv_fixup; + enum complex_fixup complex_fixup = 0; + if (fixup.x_source == CHANNEL_SOURCE_COMPLEX1) complex_fixup |= (1 << 0); + if (fixup.y_source == CHANNEL_SOURCE_COMPLEX1) complex_fixup |= (1 << 1); + if (fixup.z_source == CHANNEL_SOURCE_COMPLEX1) complex_fixup |= (1 << 2); + if (fixup.w_source == CHANNEL_SOURCE_COMPLEX1) complex_fixup |= (1 << 3); + return complex_fixup; } void *wined3d_rb_alloc(size_t size) DECLSPEC_HIDDEN;