Henri Verbeet : wined3d: Pass explicit texcoords to depth blt.

Alexandre Julliard julliard at winehq.org
Tue Oct 28 10:02:00 CDT 2008


Module: wine
Branch: master
Commit: 437b34242416e55e5a6944bc26e8e704a502e09f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=437b34242416e55e5a6944bc26e8e704a502e09f

Author: Henri Verbeet <hverbeet at gmail.com>
Date:   Mon Oct 27 18:31:31 2008 +0100

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 2acf5ea..d1c6f91 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 c1f23c7..9e75d8d 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 7017d40..83c419e 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();
 




More information about the wine-cvs mailing list