X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fget.c;h=8a7b1e429069fbb39a3be7aaa49e5eed05495eba;hb=360ef827651bdc0da4b8ac251f3f048b1cab60d7;hp=f870b217db5a281f54fc07407a96517a8b1b2f41;hpb=a96e946d25d4518d1c73c5d9d0f3d147f42bc416;p=mesa.git diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index f870b217db5..8a7b1e42906 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -315,9 +315,10 @@ static const int extra_EXT_texture_integer_and_new_buffers[] = { EXTRA_END }; -static const int extra_GLSL_130_es3[] = { +static const int extra_GLSL_130_es3_gpushader4[] = { EXTRA_GLSL_130, EXTRA_API_ES3, + EXT(EXT_gpu_shader4), EXTRA_END }; @@ -468,6 +469,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); @@ -698,6 +700,10 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu v->value_int_4[3] = GET_COLORMASK_BIT(ctx->Color.ColorMask, 0, 3); break; + case GL_DEPTH_CLAMP: + v->value_bool = ctx->Transform.DepthClampNear || ctx->Transform.DepthClampFar; + break; + case GL_EDGE_FLAG: v->value_bool = ctx->Current.Attrib[VERT_ATTRIB_EDGEFLAG][0] == 1.0F; break; @@ -722,14 +728,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; @@ -865,6 +907,9 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu break; /* GL_EXT_external_objects */ + case GL_NUM_DEVICE_UUIDS_EXT: + v->value_int = 1; + break; case GL_DRIVER_UUID_EXT: _mesa_get_driver_uuid(ctx, v->value_int_4); break; @@ -937,11 +982,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 */