[PATCH] WineD3D: Some ARB code fixes=0A=
Stefan Doesinger
stefan at codeweavers.com
Fri Sep 5 13:45:38 CDT 2008
=0A=
Fixes another memleak and a copypaste error=0A=
---=0A=
dlls/wined3d/arb_program_shader.c | 10 ++++++++--=0A=
1 files changed, 8 insertions(+), 2 deletions(-)=0A=
=0A=
diff --git a/dlls/wined3d/arb_program_shader.c =
b/dlls/wined3d/arb_program_shader.c=0A=
index c6990f5..0ed903c 100644=0A=
--- a/dlls/wined3d/arb_program_shader.c=0A=
+++ b/dlls/wined3d/arb_program_shader.c=0A=
@@ -2894,7 +2894,7 @@ static GLuint gen_arbfp_ffp_shader(struct =
ffp_settings *settings, IWineD3DStateB=0A=
if (glGetError() =3D=3D GL_INVALID_OPERATION) {=0A=
GLint pos;=0A=
glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &pos);=0A=
- FIXME("Vertex program error at position %d: %s\n", pos,=0A=
+ FIXME("Fragment program error at position %d: %s\n", pos,=0A=
debugstr_a((const char =
*)glGetString(GL_PROGRAM_ERROR_STRING_ARB)));=0A=
}=0A=
HeapFree(GetProcessHeap(), 0, buffer.buffer);=0A=
@@ -3442,7 +3442,10 @@ GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, =
WINED3DFORMAT fmt, GLenum text=0A=
checkGLcall("GL_EXTCALL(glGenProgramsARB(1, &shader))");=0A=
GL_EXTCALL(glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader));=0A=
checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader)");=0A=
- if(!shader) return 0;=0A=
+ if(!shader) {=0A=
+ HeapFree(GetProcessHeap(), 0, buffer.buffer);=0A=
+ return 0;=0A=
+ }=0A=
=0A=
/* The YUY2 and UYVY formats contain two pixels packed into a 32 =
bit macropixel,=0A=
* giving effectively 16 bit per pixel. The color consists of a =
luminance(Y) and=0A=
@@ -3491,10 +3494,12 @@ GLuint gen_yuv_shader(IWineD3DDeviceImpl =
*device, WINED3DFORMAT fmt, GLenum text=0A=
=0A=
if(fmt =3D=3D WINED3DFMT_UYVY || fmt =3D=3DWINED3DFMT_YUY2) {=0A=
if(gen_planar_yuv_read(&buffer, fmt, textype, =
&luminance_component) =3D=3D FALSE) {=0A=
+ HeapFree(GetProcessHeap(), 0, buffer.buffer);=0A=
return 0;=0A=
}=0A=
} else {=0A=
if(gen_yv12_read(&buffer, fmt, textype, &luminance_component) =
=3D=3D FALSE) {=0A=
+ HeapFree(GetProcessHeap(), 0, buffer.buffer);=0A=
return 0;=0A=
}=0A=
}=0A=
@@ -3519,6 +3524,7 @@ GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, =
WINED3DFORMAT fmt, GLenum text=0A=
FIXME("Fragment program error at position %d: %s\n", pos,=0A=
debugstr_a((const char =
*)glGetString(GL_PROGRAM_ERROR_STRING_ARB)));=0A=
}=0A=
+ HeapFree(GetProcessHeap(), 0, buffer.buffer);=0A=
=0A=
if(fmt =3D=3D WINED3DFMT_YUY2) {=0A=
if(textype =3D=3D GL_TEXTURE_RECTANGLE_ARB) {=0A=
-- =0A=
1.5.6.4=0A=
=0A=
------=_NextPart_000_001B_01C9132F.9AA6C0A0--
More information about the wine-patches
mailing list