-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2014-02-12 21:05, schrieb Martin Storsjo:
- entry = wine_rb_get(&priv->shaders, &type);
- if (entry) {
case COMPLEX_FIXUP_YUY2:
shader = textype == GL_TEXTURE_RECTANGLE_ARB ? priv->yuy2_rect_shader : priv->yuy2_2d_shader; ...
break;
struct arbfp_blit_desc *desc = WINE_RB_ENTRY_VALUE(entry, struct arbfp_blit_desc, entry);
shader = desc->shader;
- }
- else
- {
switch(fixup)
{ case COMPLEX_FIXUP_P8:
shader = textype == GL_TEXTURE_RECTANGLE_ARB ? priv->p8_rect_shader : priv->p8_2d_shader;
if (!shader) shader = gen_p8_shader(priv, gl_info, textype);
...
}}
You'll have to execute upload_palette before running the p8 shader, not just when generating it.
struct arbfp_blit_priv {
- GLenum yuy2_rect_shader, yuy2_2d_shader;
- GLenum uyvy_rect_shader, uyvy_2d_shader;
- GLenum yv12_rect_shader, yv12_2d_shader;
- GLenum nv12_rect_shader, nv12_2d_shader;
- GLenum p8_rect_shader, p8_2d_shader;
- struct wine_rb_tree shaders; GLuint palette_texture;
};
When you're resending the patch please take the opportunity to move the opening { to its own line.
Otherwise the patch (and the first one) looks good to me. Thanks for your perseverance :-) .
I'll run the test in patch 3 on my Windows machines and report back. I ran the earlier version it on the Radeon X1600 + Win7 box yesterday. It passed, NV12 was supported, I420 was not.