mesa: Add ARB_direct_state_access checks in VAO functions
Signed-off-by: Fredrik Höglund <fredrik@kde.org> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
8940957238
commit
36b0579337
|
@ -617,6 +617,14 @@ void GLAPIENTRY
|
|||
_mesa_CreateVertexArrays(GLsizei n, GLuint *arrays)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCreateVertexArrays(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
gen_vertex_arrays(ctx, n, arrays, true, "glCreateVertexArrays");
|
||||
}
|
||||
|
||||
|
@ -659,6 +667,13 @@ _mesa_VertexArrayElementBuffer(GLuint vaobj, GLuint buffer)
|
|||
struct gl_vertex_array_object *vao;
|
||||
struct gl_buffer_object *bufObj;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glVertexArrayElementBuffer(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
/* The GL_ARB_direct_state_access specification says:
|
||||
|
@ -695,6 +710,13 @@ _mesa_GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param)
|
|||
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGetVertexArrayiv(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The GL_ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated if <vaobj> is not
|
||||
|
|
|
@ -777,6 +777,13 @@ _mesa_EnableVertexArrayAttrib(GLuint vaobj, GLuint index)
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glEnableVertexArrayAttrib(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by EnableVertexArrayAttrib
|
||||
|
@ -830,6 +837,13 @@ _mesa_DisableVertexArrayAttrib(GLuint vaobj, GLuint index)
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glDisableVertexArrayAttrib(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by EnableVertexArrayAttrib
|
||||
|
@ -1094,6 +1108,13 @@ _mesa_GetVertexArrayIndexediv(GLuint vaobj, GLuint index,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGetVertexArrayIndexediv(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated if <vaobj> is not
|
||||
|
@ -1157,6 +1178,14 @@ _mesa_GetVertexArrayIndexed64iv(GLuint vaobj, GLuint index,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGetVertexArrayIndexed64iv(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated if <vaobj> is not
|
||||
|
@ -1745,6 +1774,13 @@ _mesa_VertexArrayVertexBuffer(GLuint vaobj, GLuint bindingIndex, GLuint buffer,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glVertexArrayVertexBuffer(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by VertexArrayVertexBuffer
|
||||
|
@ -1910,6 +1946,14 @@ _mesa_VertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glVertexArrayVertexBuffers(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by VertexArrayVertexBuffer
|
||||
|
@ -2018,6 +2062,12 @@ vertex_array_attrib_format(GLuint vaobj, GLuint attribIndex, GLint size,
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"%s(GL_ARB_direct_state_access is not supported", func);
|
||||
return;
|
||||
}
|
||||
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
/* The ARB_direct_state_access spec says:
|
||||
|
@ -2155,6 +2205,13 @@ _mesa_VertexArrayAttribBinding(GLuint vaobj, GLuint attribIndex, GLuint bindingI
|
|||
GET_CURRENT_CONTEXT(ctx);
|
||||
struct gl_vertex_array_object *vao;
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glVertexArrayAttribBinding(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by VertexArrayAttribBinding
|
||||
|
@ -2229,6 +2286,13 @@ _mesa_VertexArrayBindingDivisor(GLuint vaobj, GLuint bindingIndex, GLuint diviso
|
|||
struct gl_vertex_array_object *vao;
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
|
||||
if (!ctx->Extensions.ARB_direct_state_access) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glVertexArrayBindingDivisor(GL_ARB_direct_state_access "
|
||||
"is not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
/* The ARB_direct_state_access specification says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated by VertexArrayBindingDivisor
|
||||
|
|
Loading…
Reference in New Issue