Skip to content
Snippets Groups Projects
Commit 7d212765 authored by Fredrik Höglund's avatar Fredrik Höglund
Browse files

mesa: Add ARB_direct_state_access checks in XFB functions


Signed-off-by: default avatarFredrik Höglund <fredrik@kde.org>
Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
parent 03420eac
No related branches found
No related tags found
No related merge requests found
...@@ -706,6 +706,13 @@ _mesa_TransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer) ...@@ -706,6 +706,13 @@ _mesa_TransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer)
struct gl_transform_feedback_object *obj; struct gl_transform_feedback_object *obj;
struct gl_buffer_object *bufObj; struct gl_buffer_object *bufObj;
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTransformFeedbackBufferBase(GL_ARB_direct_state_access "
"is not supported)");
return;
}
obj = lookup_transform_feedback_object_err(ctx, xfb, obj = lookup_transform_feedback_object_err(ctx, xfb,
"glTransformFeedbackBufferBase"); "glTransformFeedbackBufferBase");
if(!obj) { if(!obj) {
...@@ -729,6 +736,13 @@ _mesa_TransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, ...@@ -729,6 +736,13 @@ _mesa_TransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer,
struct gl_transform_feedback_object *obj; struct gl_transform_feedback_object *obj;
struct gl_buffer_object *bufObj; struct gl_buffer_object *bufObj;
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTransformFeedbackBufferRange(GL_ARB_direct_state_access "
"is not supported)");
return;
}
obj = lookup_transform_feedback_object_err(ctx, xfb, obj = lookup_transform_feedback_object_err(ctx, xfb,
"glTransformFeedbackBufferRange"); "glTransformFeedbackBufferRange");
if(!obj) { if(!obj) {
...@@ -1045,6 +1059,13 @@ _mesa_CreateTransformFeedbacks(GLsizei n, GLuint *names) ...@@ -1045,6 +1059,13 @@ _mesa_CreateTransformFeedbacks(GLsizei n, GLuint *names)
{ {
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCreateTransformFeedbacks(GL_ARB_direct_state_access "
"is not supported)");
return;
}
create_transform_feedbacks(ctx, n, names, true); create_transform_feedbacks(ctx, n, names, true);
} }
...@@ -1215,6 +1236,13 @@ _mesa_GetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) ...@@ -1215,6 +1236,13 @@ _mesa_GetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)
struct gl_transform_feedback_object *obj; struct gl_transform_feedback_object *obj;
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetTransformFeedbackiv(GL_ARB_direct_state_access "
"is not supported)");
return;
}
obj = lookup_transform_feedback_object_err(ctx, xfb, obj = lookup_transform_feedback_object_err(ctx, xfb,
"glGetTransformFeedbackiv"); "glGetTransformFeedbackiv");
if(!obj) { if(!obj) {
...@@ -1241,6 +1269,13 @@ _mesa_GetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, ...@@ -1241,6 +1269,13 @@ _mesa_GetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index,
struct gl_transform_feedback_object *obj; struct gl_transform_feedback_object *obj;
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetTransformFeedbacki_v(GL_ARB_direct_state_access "
"is not supported)");
return;
}
obj = lookup_transform_feedback_object_err(ctx, xfb, obj = lookup_transform_feedback_object_err(ctx, xfb,
"glGetTransformFeedbacki_v"); "glGetTransformFeedbacki_v");
if(!obj) { if(!obj) {
...@@ -1270,6 +1305,13 @@ _mesa_GetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, ...@@ -1270,6 +1305,13 @@ _mesa_GetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index,
struct gl_transform_feedback_object *obj; struct gl_transform_feedback_object *obj;
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
if (!ctx->Extensions.ARB_direct_state_access) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetTransformFeedbacki64_v(GL_ARB_direct_state_access "
"is not supported)");
return;
}
obj = lookup_transform_feedback_object_err(ctx, xfb, obj = lookup_transform_feedback_object_err(ctx, xfb,
"glGetTransformFeedbacki64_v"); "glGetTransformFeedbacki64_v");
if(!obj) { if(!obj) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment