Module: wine Branch: master Commit: c9d82ffa434f7ffca67259c1e1931c9d5bb0afd5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c9d82ffa434f7ffca67259c1e1...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Apr 13 19:09:55 2016 +0200
wined3d: Use the texture dimension helpers in arbfp_blit_set().
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/arb_program_shader.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 06163ab..fac97fe 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -7681,8 +7681,6 @@ static GLuint arbfp_gen_plain_shader(struct arbfp_blit_priv *priv, static HRESULT arbfp_blit_set(void *blit_priv, struct wined3d_context *context, const struct wined3d_surface *surface, const struct wined3d_color_key *color_key) { - GLuint shader; - float size[4] = {(float) surface->pow2Width, (float) surface->pow2Height, 1.0f, 1.0f}; const struct wined3d_texture *texture = surface->container; struct arbfp_blit_priv *priv = blit_priv; enum complex_fixup fixup; @@ -7691,6 +7689,13 @@ static HRESULT arbfp_blit_set(void *blit_priv, struct wined3d_context *context, struct arbfp_blit_type type; struct arbfp_blit_desc *desc; struct wined3d_color float_color_key[2]; + struct wined3d_vec4 size; + GLuint shader; + + size.x = wined3d_texture_get_level_pow2_width(texture, surface->texture_level); + size.y = wined3d_texture_get_level_pow2_height(texture, surface->texture_level); + size.z = 1.0f; + size.w = 1.0f;
if (is_complex_fixup(texture->resource.format->color_fixup)) fixup = get_complex_fixup(texture->resource.format->color_fixup); @@ -7787,7 +7792,7 @@ err_out: checkGLcall("glEnable(GL_FRAGMENT_PROGRAM_ARB)"); GL_EXTCALL(glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader)); checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader)"); - GL_EXTCALL(glProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, ARBFP_BLIT_PARAM_SIZE, size)); + GL_EXTCALL(glProgramLocalParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, ARBFP_BLIT_PARAM_SIZE, &size.x)); checkGLcall("glProgramLocalParameter4fvARB"); if (type.use_color_key) {