mesa/core: Enable EXT_depth_clamp for GLES >= 2.0
[mesa.git] / src / mesa / main / get.c
index 16625e92e25aec25f2d64bd5895b5db2c160b20b..ee77c45d03c17081887351d5a7ea9a57121322f2 100644 (file)
@@ -468,6 +468,7 @@ EXTRA_EXT(NV_texture_rectangle);
 EXTRA_EXT(EXT_stencil_two_side);
 EXTRA_EXT(EXT_depth_bounds_test);
 EXTRA_EXT(ARB_depth_clamp);
+EXTRA_EXT(AMD_depth_clamp_separate);
 EXTRA_EXT(ATI_fragment_shader);
 EXTRA_EXT(EXT_provoking_vertex);
 EXTRA_EXT(ARB_fragment_shader);
@@ -726,14 +727,50 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
       v->value_matrix = ctx->TextureMatrixStack[unit].Top;
       break;
 
+   case GL_VERTEX_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_POS);
+      break;
+   case GL_NORMAL_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_NORMAL);
+      break;
+   case GL_COLOR_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_COLOR0);
+      break;
    case GL_TEXTURE_COORD_ARRAY:
-   case GL_TEXTURE_COORD_ARRAY_SIZE:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_TEX(ctx->Array.ActiveTexture));
+      break;
+   case GL_INDEX_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_COLOR_INDEX);
+      break;
+   case GL_EDGE_FLAG_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_EDGEFLAG);
+      break;
+   case GL_SECONDARY_COLOR_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_COLOR1);
+      break;
+   case GL_FOG_COORDINATE_ARRAY:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_FOG);
+      break;
+   case GL_POINT_SIZE_ARRAY_OES:
+      v->value_bool = !!(ctx->Array.VAO->Enabled & VERT_BIT_POINT_SIZE);
+      break;
+
    case GL_TEXTURE_COORD_ARRAY_TYPE:
    case GL_TEXTURE_COORD_ARRAY_STRIDE:
       array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)];
       v->value_int = *(GLuint *) ((char *) array + d->offset);
       break;
 
+   case GL_TEXTURE_COORD_ARRAY_SIZE:
+      array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_TEX(ctx->Array.ActiveTexture)];
+      v->value_int = array->Format.Size;
+      break;
+
+   case GL_VERTEX_ARRAY_SIZE:
+      array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_POS];
+      v->value_int = array->Format.Size;
+      break;
+
    case GL_ACTIVE_TEXTURE_ARB:
       v->value_int = GL_TEXTURE0_ARB + ctx->Texture.CurrentUnit;
       break;
@@ -941,11 +978,11 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu
    /* ARB_vertex_array_bgra */
    case GL_COLOR_ARRAY_SIZE:
       array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR0];
-      v->value_int = array->Format == GL_BGRA ? GL_BGRA : array->Size;
+      v->value_int = array->Format.Format == GL_BGRA ? GL_BGRA : array->Format.Size;
       break;
    case GL_SECONDARY_COLOR_ARRAY_SIZE:
       array = &ctx->Array.VAO->VertexAttrib[VERT_ATTRIB_COLOR1];
-      v->value_int = array->Format == GL_BGRA ? GL_BGRA : array->Size;
+      v->value_int = array->Format.Format == GL_BGRA ? GL_BGRA : array->Format.Size;
       break;
 
    /* ARB_copy_buffer */