glsl: Change _mesa_glsl_parse_state ctor to use gl_shader_stage enum.
[mesa.git] / src / mesa / main / enable.c
index 5e2fd80d22703461e23fca5c84c1bfaaa45a0d3b..bb4a23c91e61ca0c9deb5e40df1cb6b680da62c4 100644 (file)
@@ -135,6 +135,8 @@ client_state(struct gl_context *ctx, GLenum cap, GLboolean state)
    else
       arrayObj->_Enabled &= ~flag;
 
+   arrayObj->NewArrays |= flag;
+
    if (ctx->Driver.Enable) {
       ctx->Driver.Enable( ctx, cap, state );
    }
@@ -802,6 +804,17 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
          ctx->Multisample.SampleCoverageInvert = state;
          break;
 
+      /* GL_ARB_sample_shading */
+      case GL_SAMPLE_SHADING:
+         if (!_mesa_is_desktop_gl(ctx))
+            goto invalid_enum_error;
+         CHECK_EXTENSION(ARB_sample_shading, cap);
+         if (ctx->Multisample.SampleShading == state)
+            return;
+         FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+         ctx->Multisample.SampleShading = state;
+         break;
+
       /* GL_IBM_rasterpos_clip */
       case GL_RASTER_POSITION_UNCLIPPED_IBM:
          if (ctx->API != API_OPENGL_COMPAT)
@@ -921,25 +934,6 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
        ctx->ATIFragmentShader.Enabled = state;
         break;
 
-      /* GL_MESA_texture_array */
-      case GL_TEXTURE_1D_ARRAY_EXT:
-         if (ctx->API != API_OPENGL_COMPAT)
-            goto invalid_enum_error;
-         CHECK_EXTENSION(MESA_texture_array, cap);
-         if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
-            return;
-         }
-         break;
-
-      case GL_TEXTURE_2D_ARRAY_EXT:
-         if (ctx->API != API_OPENGL_COMPAT)
-            goto invalid_enum_error;
-         CHECK_EXTENSION(MESA_texture_array, cap);
-         if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
-            return;
-         }
-         break;
-
       case GL_TEXTURE_CUBE_MAP_SEAMLESS:
          if (!_mesa_is_desktop_gl(ctx))
             goto invalid_enum_error;
@@ -1594,6 +1588,13 @@ _mesa_IsEnabled( GLenum cap )
          CHECK_EXTENSION(ARB_texture_multisample);
          return ctx->Multisample.SampleMask;
 
+      /* ARB_sample_shading */
+      case GL_SAMPLE_SHADING:
+         if (!_mesa_is_desktop_gl(ctx))
+            goto invalid_enum_error;
+         CHECK_EXTENSION(ARB_sample_shading);
+         return ctx->Multisample.SampleShading;
+
       default:
          goto invalid_enum_error;
    }