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