wined3d: Explicitly enable the GL_ARB_draw_buffers extension in GLSL shaders

H. Verbeet hverbeet at gmail.com
Mon Oct 2 13:06:38 CDT 2006


Extensions need to be explicitly enabled in GLSL, but we don't
currently do this for GL_ARB_draw_buffers. The GLSL compiler in
nVidia's 96.25 beta drivers is stricter than previous versions, and
refuses to compile the shader because of this.

Changelog:
  - Explicitly enable the GL_ARB_draw_buffers extension in GLSL shaders
-------------- next part --------------
---

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

diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 98ec7d7..c7562e6 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -838,6 +838,10 @@ #endif
         /* Create the hw GLSL shader object and assign it as the baseShader.prgId */
         GLhandleARB shader_obj = GL_EXTCALL(glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB));
 
+        if (GL_SUPPORT(ARB_DRAW_BUFFERS)) {
+            shader_addline(&buffer, "#extension GL_ARB_draw_buffers : enable\n");
+        }
+
         /* Base Declarations */
         shader_generate_glsl_declarations( (IWineD3DBaseShader*) This, reg_maps, &buffer, &GLINFO_LOCATION);
 


More information about the wine-patches mailing list