Make GL_ARB_draw_buffers mandatory
authorIan Romanick <idr@freedesktop.org>
Wed, 28 Jan 2009 03:10:43 +0000 (19:10 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 29 Jan 2009 00:28:11 +0000 (16:28 -0800)
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
30 files changed:
src/mesa/drivers/dri/common/utils.c
src/mesa/drivers/dri/ffb/ffb_xmesa.c
src/mesa/drivers/dri/gamma/gamma_context.c
src/mesa/drivers/dri/i915/i830_context.c
src/mesa/drivers/dri/i915/i915_context.c
src/mesa/drivers/dri/intel/intel_extensions.c
src/mesa/drivers/dri/mach64/mach64_context.c
src/mesa/drivers/dri/mga/mga_xmesa.c
src/mesa/drivers/dri/r128/r128_context.c
src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/radeon/radeon_context.c
src/mesa/drivers/dri/s3v/s3v_context.c
src/mesa/drivers/dri/savage/savage_xmesa.c
src/mesa/drivers/dri/tdfx/tdfx_context.c
src/mesa/drivers/dri/trident/trident_context.c
src/mesa/drivers/dri/unichrome/via_context.c
src/mesa/drivers/glide/fxdd.c
src/mesa/drivers/windows/gldirect/dglcontext.c
src/mesa/drivers/windows/gldirect/dx7/gld_wgl_dx7.c
src/mesa/drivers/windows/gldirect/dx8/gld_wgl_dx8.c
src/mesa/drivers/windows/gldirect/dx9/gld_wgl_dx9.c
src/mesa/drivers/windows/gldirect/mesasw/gld_wgl_mesasw.c
src/mesa/main/attrib.c
src/mesa/main/buffers.c
src/mesa/main/extensions.c
src/mesa/main/get.c
src/mesa/main/get_gen.py
src/mesa/shader/arbprogparse.c
src/mesa/shader/slang/slang_preprocess.c

index 04d334f278b403167ff1cf7ad6afed37836e2c24..e4d228c575e7220b58cb7c6b24f913527f78f126 100644 (file)
@@ -179,6 +179,7 @@ driGetRendererString( char * buffer, const char * hardware_name,
 
 
 
+#define need_GL_ARB_draw_buffers
 #define need_GL_ARB_multisample
 #define need_GL_ARB_texture_compression
 #define need_GL_ARB_transpose_matrix
@@ -202,6 +203,7 @@ driGetRendererString( char * buffer, const char * hardware_name,
 #include "extension_helper.h"
 
 static const struct dri_extension all_mesa_extensions[] = {
+   { "GL_ARB_draw_buffers",          GL_ARB_draw_buffers_functions },
    { "GL_ARB_multisample",           GL_ARB_multisample_functions },
    { "GL_ARB_texture_compression",   GL_ARB_texture_compression_functions },
    { "GL_ARB_transpose_matrix",      GL_ARB_transpose_matrix_functions },
index 679f8561d24f1f23de43b7ec4d2acc892a20f2d7..0cdbbd0ace541f2d560852ec75f2cda0f8fd7c91 100644 (file)
@@ -260,6 +260,8 @@ ffbCreateContext(const __GLcontextModes *mesaVis,
        ctx->Const.MaxLineWidthAA = 1.0;
        ctx->Const.LineWidthGranularity = 1.0;
 
+       ctx->Const.MaxDrawBuffers = 1;
+
        /* Instead of having GCC emit these constants a zillion times
         * everywhere in the driver, put them here.
         */
index c91bedce3a885895a4fd6001d338d914b2c7b9a4..b0ac299daae56ddcd85adeee881b03d1b2e53e94 100644 (file)
@@ -133,6 +133,8 @@ GLboolean gammaCreateContext( const __GLcontextModes *glVisual,
    ctx->Const.MaxPointSizeAA = 16.0; 
    ctx->Const.PointSizeGranularity = 0.25;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    gmesa->texHeap = mmInit( 0, gmesa->gammaScreen->textureSize );
 
    make_empty_list(&gmesa->TexObjList);
index 09b1ec922ffc32d9e78539ea07497907a8c3eeb9..fdce8af31f4843f882c234a6ff4aafaaefaa3a79 100644 (file)
@@ -97,6 +97,8 @@ i830CreateContext(const __GLcontextModes * mesaVis,
    ctx->Const.MaxTextureRectSize = (1 << 11);
    ctx->Const.MaxTextureUnits = I830_TEX_UNITS;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    _tnl_init_vertices(ctx, ctx->Const.MaxArrayLockSize + 12,
                       18 * sizeof(GLfloat));
 
index 3d6af38057e5bd3c5d9f706410348c4fe7d2c67b..c224c68b66024572b68f85c6f80e216d0dbad1c3 100644 (file)
@@ -172,6 +172,8 @@ i915CreateContext(const __GLcontextModes * mesaVis,
 
    ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    driInitExtensions(ctx, i915_extensions, GL_FALSE);
 
 
index 549b239bd3154e0524a5b35cd3ba7d076f289cbe..27d056a3b7377afe7bbb656a70a81cf4ee5605a7 100644 (file)
@@ -109,7 +109,6 @@ static const struct dri_extension card_extensions[] = {
 /** i965-only extensions */
 static const struct dri_extension brw_extensions[] = {
    { "GL_ARB_depth_texture",              NULL },
-   { "GL_ARB_draw_buffers",               NULL },
    { "GL_ARB_fragment_program",           NULL },
    { "GL_ARB_fragment_program_shadow",    NULL },
    { "GL_ARB_fragment_shader",            NULL },
index 4edab846b06532e5b57d68cbbe31feae38b73674..9c7f513c6f5fc4b3afc7c6c243b9d03882ceb077 100644 (file)
@@ -190,6 +190,7 @@ GLboolean mach64CreateContext( const __GLcontextModes *glVisual,
    ctx->Const.MaxTextureUnits = 2;
    ctx->Const.MaxTextureImageUnits = 2;
    ctx->Const.MaxTextureCoordUnits = 2;
+   ctx->Const.MaxDrawBuffers = 1;
 
    heap = mach64Screen->IsPCI ? MACH64_CARD_HEAP : MACH64_AGP_HEAP;
 
index 41fa9b29ffc6b7f2763211312363b5c00c3345b3..2d0f387cdc6f7e574d0b29121560814379e594d5 100644 (file)
@@ -531,6 +531,8 @@ mgaCreateContext( const __GLcontextModes *mesaVis,
    ctx->Const.MaxLineWidthAA = 10.0;
    ctx->Const.LineWidthGranularity = 1.0;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    mmesa->texture_depth = driQueryOptioni (&mmesa->optionCache,
                                           "texture_depth");
    if (mmesa->texture_depth == DRI_CONF_TEXTURE_DEPTH_FB)
index 4d6031f5273f6fd4b4106036fec44d660df61975..f511a67badab2c81d182a563814c685e3ee26ba0 100644 (file)
@@ -223,6 +223,8 @@ GLboolean r128CreateContext( const __GLcontextModes *glVisual,
    ctx->Const.MaxLineWidthAA = 1.0;
    ctx->Const.LineWidthGranularity = 1.0;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
 #if ENABLE_PERF_BOXES
    rmesa->boxes = driQueryOptionb(&rmesa->optionCache, "performance_boxes");
 #endif
index 47ecd4b05a1feae8ba58b43f5d8eb56ac96d06c8..c06751516eb47f72aff9be99629284d92ecaab53 100644 (file)
@@ -403,6 +403,8 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
    ctx->Const.VertexProgram.MaxNativeParameters = R200_VSF_MAX_PARAM;
    ctx->Const.VertexProgram.MaxNativeAddressRegs = 1;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );
index e74d29e5803b681defb4791b85888347bc4673e3..4c14c7eefed7da69dc9ba70968e52c33b8096b5c 100644 (file)
@@ -311,6 +311,8 @@ GLboolean r300CreateContext(const __GLcontextModes * glVisual,
 #endif
 #endif
 
+       ctx->Const.MaxDrawBuffers = 1;
+
        /* Initialize the software rasterizer and helper modules.
         */
        _swrast_CreateContext(ctx);
index 38066134a96530c2531b6cc4cd9430a30764f551..ea81a3250b785a68ef183146686da5d569a71202 100644 (file)
@@ -353,6 +353,8 @@ radeonCreateContext( const __GLcontextModes *glVisual,
 
    rmesa->boxes = 0;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );
index 14502f95aecb7b607a892bdad5874c4aef2d86e4..0a3bf7258d16ba6f4c8e41871669ef53e254ae42 100644 (file)
@@ -108,6 +108,8 @@ GLboolean s3vCreateContext(const __GLcontextModes *glVisual,
        ctx->Const.MaxLineWidthAA = 1.0;
        ctx->Const.LineWidthGranularity = 1.0;
 
+       ctx->Const.MaxDrawBuffers = 1;
+
        vmesa->texHeap = mmInit( 0, vmesa->s3vScreen->textureSize );
        DEBUG(("vmesa->s3vScreen->textureSize = 0x%x\n",
                vmesa->s3vScreen->textureSize));
index ab21505cbd7c4b9740a326f8eb78d6ada6fdd49d..c5decb093af32809a45aac6297b3abf40b7347b9 100644 (file)
@@ -344,7 +344,9 @@ savageCreateContext( const __GLcontextModes *mesaVis,
    ctx->Const.MaxLineWidthAA = 3.0;
    ctx->Const.LineWidthGranularity = 1.0;
 #endif
-   
+
+   ctx->Const.MaxDrawBuffers = 1;
+
    /* Dri stuff
     */
    imesa->hHWContext = driContextPriv->hHWContext;
index aeb267a64a2718d0590ed5664d61ee7eb4eceee5..20046fcb3af2c4eb03cacbbbd99d96b1534e0568 100644 (file)
@@ -309,6 +309,8 @@ GLboolean tdfxCreateContext( const __GLcontextModes *mesaVis,
    ctx->Const.MaxLineWidthAA = 1.0;
    ctx->Const.LineWidthGranularity = 1.0;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );
index e134cfcf8e9f6cf766957635e82e311e84ce81e5..aefd8a243f6749e5745e170e4579eb0195f5feb0 100644 (file)
@@ -128,6 +128,8 @@ tridentCreateContext( const __GLcontextModes *glVisual,
    ctx->Const.MaxPointSizeAA = 16.0; 
    ctx->Const.PointSizeGranularity = 0.25;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
 #if 0
    tmesa->texHeap = mmInit( 0, tmesa->tridentScreen->textureSize );
 
index cb66c2d89d77d615c30b832af8e7ee0d04351d03..6eb19ac079020d6befacc6c9d968a0b82606d453 100644 (file)
@@ -573,6 +573,8 @@ viaCreateContext(const __GLcontextModes *visual,
     ctx->Const.MaxPointSizeAA = 1.0;
     ctx->Const.PointSizeGranularity = 1.0;
 
+    ctx->Const.MaxDrawBuffers = 1;
+
     ctx->Driver.GetString = viaGetString;
 
     ctx->DriverCtx = (void *)vmesa;
index e93ada28931c5d99ed656bab3708d68896539800..338cd37382affa9d758c3801c02b8b67cbeecbfd 100644 (file)
@@ -1773,6 +1773,8 @@ fxDDInitFxMesaContext(fxMesaContext fxMesa)
    ctx->Const.MaxTextureImageUnits = fxMesa->haveTwoTMUs ? 2 : 1;
    ctx->Const.MaxTextureUnits = MAX2(ctx->Const.MaxTextureImageUnits, ctx->Const.MaxTextureCoordUnits);
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    fxMesa->new_state = _NEW_ALL;
    if (!fxMesa->haveHwStencil) {
       /* don't touch stencil if there is none */
index 4ad7a76e67f6d1217009463d1d9585256771a16a..e9c23d1ccb034be69bb2b3e9cc3b82893649d238 100644 (file)
@@ -1482,6 +1482,7 @@ SkipPrimaryCreate:
 #else
        lpCtx->glCtx->Const.MaxTextureSize = 1024;
 #endif
+       lpCtx->glCtx->Const.MaxDrawBuffers = 1;
 
        // Setup the Display Driver pointers
        dglSetupDDPointers(lpCtx->glCtx);
index 0f8fe33eb15ec3713ec20b19bdac5d1d61e2ee15..fa44a952a090cdec17411ccf85dc67f51d895249 100644 (file)
@@ -1422,6 +1422,8 @@ BOOL gldInitialiseMesa_DX(
                lpCtx->glCtx->Const.MaxTextureUnits = 1;
        }
 
+       lpCtx->glCtx->Const.MaxDrawBuffers = 1;
+
        // max texture size
 //     MaxTextureSize = min(gld->d3dCaps8.MaxTextureHeight, gld->d3dCaps8.MaxTextureWidth);
        MaxTextureSize = min(gld->d3dCaps.dwMaxTextureHeight, gld->d3dCaps.dwMaxTextureWidth);
index 690f68b68f157117eb645fb15fd5a44e11e47e99..011d810e975ce379e1df968e1db34118ef024ccc 100644 (file)
@@ -1204,6 +1204,7 @@ BOOL gldInitialiseMesa_DX(
                MaxTextureSize >>= 1;
        }
        lpCtx->glCtx->Const.MaxTextureLevels = (TextureLevels) ? TextureLevels : 8;
+       lpCtx->glCtx->Const.MaxDrawBuffers = 1;
 
        IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_LIGHTING, FALSE);
        IDirect3DDevice8_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
index dc465c5418545a16f077144a2fcbd5518093a3fe..a03b865bb4422bf5563e94c25bfccb6ab0f6bd10 100644 (file)
@@ -1206,6 +1206,7 @@ BOOL gldInitialiseMesa_DX(
                MaxTextureSize >>= 1;
        }
        lpCtx->glCtx->Const.MaxTextureLevels = (TextureLevels) ? TextureLevels : 8;
+       lpCtx->glCtx->Const.MaxDrawBuffers = 1;
 
        IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_LIGHTING, FALSE);
        IDirect3DDevice9_SetRenderState(gld->pDev, D3DRS_CULLMODE, D3DCULL_NONE);
index b590dc795a08283a320e9928d9c37a18c5a6a843..342a742867a64e3c69a8febb7f7497f9644a6b6d 100644 (file)
@@ -1625,6 +1625,7 @@ BOOL gldInitialiseMesa_MesaSW(
 
        // Added this to force max texture diminsion to 256. KeithH
        ctx->Const.MaxTextureLevels = 8;
+       ctx->Const.MaxDrawBuffers = 1;
 
        _mesa_enable_sw_extensions(ctx);
        _mesa_enable_imaging_extensions(ctx);
index 36586758a4f7136c8b4531a07ae17075be3b358f..98173cf78627f6956635255465bea23c482d2372 100644 (file)
@@ -903,14 +903,13 @@ _mesa_PopAttrib(void)
                    * function, but legal for the later.
                    */
                   GLboolean multipleBuffers = GL_FALSE;
-                  if (ctx->Extensions.ARB_draw_buffers) {
-                     GLuint i;
-                     for (i = 1; i < ctx->Const.MaxDrawBuffers; i++) {
-                        if (color->DrawBuffer[i] != GL_NONE) {
-                           multipleBuffers = GL_TRUE;
-                           break;
-                        }
-                     }
+                 GLuint i;
+
+                 for (i = 1; i < ctx->Const.MaxDrawBuffers; i++) {
+                    if (color->DrawBuffer[i] != GL_NONE) {
+                       multipleBuffers = GL_TRUE;
+                       break;
+                    }
                   }
                   /* Call the API_level functions, not _mesa_drawbuffers()
                    * since we need to do error checking on the pop'd
index b23d2f612bfdef278fcfb6818fcffb34ef160e01..dc415c4f20c90e663df47567aa5f1dc488f9e088 100644 (file)
@@ -289,10 +289,6 @@ _mesa_DrawBuffersARB(GLsizei n, const GLenum *buffers)
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
 
-   if (!ctx->Extensions.ARB_draw_buffers) {
-      _mesa_error(ctx, GL_INVALID_OPERATION, "glDrawBuffersARB");
-      return;
-   }
    if (n < 1 || n > (GLsizei) ctx->Const.MaxDrawBuffers) {
       _mesa_error(ctx, GL_INVALID_VALUE, "glDrawBuffersARB(n)");
       return;
index ec6ba7080022eb44fed8f1cb49eec61cdea775b8..8c9208af70cc4a23814f2facbbf819c344922755 100644 (file)
@@ -45,7 +45,7 @@ static const struct {
    int flag_offset;
 } default_extensions[] = {
    { OFF, "GL_ARB_depth_texture",              F(ARB_depth_texture) },
-   { OFF, "GL_ARB_draw_buffers",               F(ARB_draw_buffers) },
+   { ON,  "GL_ARB_draw_buffers",               F(ARB_draw_buffers) },
    { OFF, "GL_ARB_fragment_program",           F(ARB_fragment_program) },
    { OFF, "GL_ARB_fragment_program_shadow",    F(ARB_fragment_program_shadow) },
    { OFF, "GL_ARB_fragment_shader",            F(ARB_fragment_shader) },
@@ -184,7 +184,7 @@ void
 _mesa_enable_sw_extensions(GLcontext *ctx)
 {
    ctx->Extensions.ARB_depth_texture = GL_TRUE;
-   ctx->Extensions.ARB_draw_buffers = GL_TRUE;
+   /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
 #if FEATURE_ARB_fragment_program
    ctx->Extensions.ARB_fragment_program = GL_TRUE;
    ctx->Extensions.ARB_fragment_program_shadow = GL_TRUE;
@@ -401,7 +401,7 @@ _mesa_enable_1_5_extensions(GLcontext *ctx)
 void
 _mesa_enable_2_0_extensions(GLcontext *ctx)
 {
-   ctx->Extensions.ARB_draw_buffers = GL_TRUE;
+   /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
 #if FEATURE_ARB_fragment_shader
    ctx->Extensions.ARB_fragment_shader = GL_TRUE;
 #endif
index 613f067caa3c7b37e79a63400d4d608e3ea03873..8e04ab9b9db8c4d0252b079ddcdb7bd306714203 100644 (file)
@@ -1732,15 +1732,12 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
          params[0] = INT_TO_BOOLEAN(ctx->VertexProgram.CurrentPosition);
          break;
       case GL_MAX_DRAW_BUFFERS_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetBooleanv");
          params[0] = INT_TO_BOOLEAN(ctx->Const.MaxDrawBuffers);
          break;
       case GL_DRAW_BUFFER0_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetBooleanv");
          params[0] = ENUM_TO_BOOLEAN(ctx->DrawBuffer->ColorDrawBuffer[0]);
          break;
       case GL_DRAW_BUFFER1_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetBooleanv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -1752,7 +1749,6 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
          }
          break;
       case GL_DRAW_BUFFER2_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetBooleanv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -1764,7 +1760,6 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
          }
          break;
       case GL_DRAW_BUFFER3_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetBooleanv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -3563,15 +3558,12 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
          params[0] = (GLfloat)(ctx->VertexProgram.CurrentPosition);
          break;
       case GL_MAX_DRAW_BUFFERS_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetFloatv");
          params[0] = (GLfloat)(ctx->Const.MaxDrawBuffers);
          break;
       case GL_DRAW_BUFFER0_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetFloatv");
          params[0] = ENUM_TO_FLOAT(ctx->DrawBuffer->ColorDrawBuffer[0]);
          break;
       case GL_DRAW_BUFFER1_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetFloatv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -3583,7 +3575,6 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
          }
          break;
       case GL_DRAW_BUFFER2_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetFloatv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -3595,7 +3586,6 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
          }
          break;
       case GL_DRAW_BUFFER3_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetFloatv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -5394,15 +5384,12 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
          params[0] = ctx->VertexProgram.CurrentPosition;
          break;
       case GL_MAX_DRAW_BUFFERS_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetIntegerv");
          params[0] = ctx->Const.MaxDrawBuffers;
          break;
       case GL_DRAW_BUFFER0_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetIntegerv");
          params[0] = ENUM_TO_INT(ctx->DrawBuffer->ColorDrawBuffer[0]);
          break;
       case GL_DRAW_BUFFER1_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetIntegerv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -5414,7 +5401,6 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
          }
          break;
       case GL_DRAW_BUFFER2_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetIntegerv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
@@ -5426,7 +5412,6 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
          }
          break;
       case GL_DRAW_BUFFER3_ARB:
-         CHECK_EXT1(ARB_draw_buffers, "GetIntegerv");
          {
          GLenum buffer;
          if (pname - GL_DRAW_BUFFER0_ARB >= ctx->Const.MaxDrawBuffers) {
index 78ccee90190f1e86b73d28c4d3a6240fac178dfa..83a8f2f786cbe15acdad6b552d257c10d6593eba 100644 (file)
@@ -914,9 +914,9 @@ StateVars = [
 
        # GL_ARB_draw_buffers
        ( "GL_MAX_DRAW_BUFFERS_ARB", GLint,
-         ["ctx->Const.MaxDrawBuffers"], "", ["ARB_draw_buffers"] ),
+         ["ctx->Const.MaxDrawBuffers"], "", None ),
        ( "GL_DRAW_BUFFER0_ARB", GLenum,
-         ["ctx->DrawBuffer->ColorDrawBuffer[0]"], "", ["ARB_draw_buffers"] ),
+         ["ctx->DrawBuffer->ColorDrawBuffer[0]"], "", None ),
        ( "GL_DRAW_BUFFER1_ARB", GLenum,
          ["buffer"],
          """GLenum buffer;
@@ -924,7 +924,7 @@ StateVars = [
             _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)");
             return;
          }
-         buffer = ctx->DrawBuffer->ColorDrawBuffer[1];""", ["ARB_draw_buffers"] ),
+         buffer = ctx->DrawBuffer->ColorDrawBuffer[1];""", None ),
        ( "GL_DRAW_BUFFER2_ARB", GLenum,
          ["buffer"],
          """GLenum buffer;
@@ -932,7 +932,7 @@ StateVars = [
             _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)");
             return;
          }
-         buffer = ctx->DrawBuffer->ColorDrawBuffer[2];""", ["ARB_draw_buffers"] ),
+         buffer = ctx->DrawBuffer->ColorDrawBuffer[2];""", None ),
        ( "GL_DRAW_BUFFER3_ARB", GLenum,
          ["buffer"],
          """GLenum buffer;
@@ -940,7 +940,7 @@ StateVars = [
             _mesa_error(ctx, GL_INVALID_ENUM, "glGet(GL_DRAW_BUFFERx_ARB)");
             return;
          }
-         buffer = ctx->DrawBuffer->ColorDrawBuffer[3];""", ["ARB_draw_buffers"] ),
+         buffer = ctx->DrawBuffer->ColorDrawBuffer[3];""", None ),
        # XXX Add more GL_DRAW_BUFFERn_ARB entries as needed in the future
 
        # GL_OES_read_format
index a3a75c3b0a6f74570b46ab8e2774f2ec55a8344a..c65d886a91d93256a3beac54db016bf38fd46e95 100644 (file)
@@ -3616,8 +3616,7 @@ enable_parser_extensions(GLcontext *ctx, grammar id)
    if (ctx->Extensions.NV_texture_rectangle
        && !enable_ext(ctx, id, "texture_rectangle"))
       return GL_FALSE;
-   if (ctx->Extensions.ARB_draw_buffers
-       && !enable_ext(ctx, id, "draw_buffers"))
+   if (!enable_ext(ctx, id, "draw_buffers"))
       return GL_FALSE;
    if (ctx->Extensions.MESA_texture_array
        && !enable_ext(ctx, id, "texture_array"))
index cd79c8b94a669e159693d54082099322803cd5e6..89aaa3a6213d642eee0a1ec34894a1c51269fd1f 100644 (file)
@@ -508,8 +508,7 @@ static GLvoid
 pp_ext_init(pp_ext *self, const struct gl_extensions *extensions)
 {
    pp_ext_disable_all (self);
-   if (extensions->ARB_draw_buffers)
-      self->ARB_draw_buffers = GL_TRUE;
+   self->ARB_draw_buffers = GL_TRUE;
    if (extensions->NV_texture_rectangle)
       self->ARB_texture_rectangle = GL_TRUE;
 }