From 437b34242416e55e5a6944bc26e8e704a502e09f Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 27 Oct 2008 18:31:31 +0100 Subject: [PATCH] wined3d: Pass explicit texcoords to depth blt. --- dlls/wined3d/arb_program_shader.c | 3 +-- dlls/wined3d/glsl_shader.c | 3 +-- dlls/wined3d/surface.c | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 2acf5ea5f56..d1c6f91096e 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -1788,8 +1788,7 @@ static GLuint create_arb_blt_vertex_program(WineD3D_GL_Info *gl_info) { "PARAM c[1] = { { 1, 0.5 } };\n" "MOV result.position, vertex.position;\n" "MOV result.color, c[0].x;\n" - "MAD result.texcoord[0].y, -vertex.position, c[0], c[0];\n" - "MAD result.texcoord[0].x, vertex.position, c[0].y, c[0].y;\n" + "MOV result.texcoord[0], vertex.texcoord[0];\n" "END\n"; GL_EXTCALL(glGenProgramsARB(1, &program_id)); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index c1f23c7ab05..9e75d8d9d65 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3388,8 +3388,7 @@ static GLhandleARB create_glsl_blt_shader(WineD3D_GL_Info *gl_info) { "{\n" " gl_Position = gl_Vertex;\n" " gl_FrontColor = vec4(1.0);\n" - " gl_TexCoord[0].x = (gl_Vertex.x * 0.5) + 0.5;\n" - " gl_TexCoord[0].y = (-gl_Vertex.y * 0.5) + 0.5;\n" + " gl_TexCoord[0] = gl_MultiTexCoord0;\n" "}\n" }; diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 7017d404f55..83c419ed4ff 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -3979,9 +3979,13 @@ static void surface_depth_blt(IWineD3DSurfaceImpl *This, GLuint texture, GLsizei device->shader_backend->shader_select_depth_blt((IWineD3DDevice *)device, tex_2d); glBegin(GL_TRIANGLE_STRIP); + glTexCoord2f(0.0f, 1.0f); glVertex2f(-1.0f, -1.0f); + glTexCoord2f(1.0f, 1.0f); glVertex2f(1.0f, -1.0f); + glTexCoord2f(0.0f, 0.0f); glVertex2f(-1.0f, 1.0f); + glTexCoord2f(1.0f, 0.0f); glVertex2f(1.0f, 1.0f); glEnd(); -- 2.11.4.GIT