Roderick Colenbrander : wined3d: Add ENTER_GL/LEAVE_GL to gen_yuv_shader.

Alexandre Julliard julliard at winehq.org
Mon Oct 20 08:00:25 CDT 2008


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

Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date:   Sat Oct 18 17:39:06 2008 +0000

wined3d: Add ENTER_GL/LEAVE_GL to gen_yuv_shader.

---

 dlls/wined3d/arb_program_shader.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 9923749..2494ced 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -3539,10 +3539,12 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, WINED3DFORMAT fmt, GLen
     buffer.newline = TRUE;
     buffer.buffer = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, SHADER_PGMSIZE);
 
+    ENTER_GL();
     GL_EXTCALL(glGenProgramsARB(1, &shader));
     checkGLcall("GL_EXTCALL(glGenProgramsARB(1, &shader))");
     GL_EXTCALL(glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader));
     checkGLcall("glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, shader)");
+    LEAVE_GL();
     if(!shader) {
         HeapFree(GetProcessHeap(), 0, buffer.buffer);
         return 0;
@@ -3617,6 +3619,7 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, WINED3DFORMAT fmt, GLen
     shader_addline(&buffer, "MAD result.color.b, chroma.g, yuv_coef.w, luminance.%c;\n", luminance_component);
     shader_addline(&buffer, "END\n");
 
+    ENTER_GL();
     GL_EXTCALL(glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, strlen(buffer.buffer), buffer.buffer));
 
     if (glGetError() == GL_INVALID_OPERATION) {
@@ -3626,6 +3629,7 @@ static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, WINED3DFORMAT fmt, GLen
               debugstr_a((const char *)glGetString(GL_PROGRAM_ERROR_STRING_ARB)));
     }
     HeapFree(GetProcessHeap(), 0, buffer.buffer);
+    LEAVE_GL();
 
     if(fmt == WINED3DFMT_YUY2) {
         if(textype == GL_TEXTURE_RECTANGLE_ARB) {




More information about the wine-cvs mailing list