mesa: make valid_draw_indirect_multi() accessible externally

We will use this to add compat support to ARB_multi_draw_indirect
in the following patch.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Timothy Arceri
2018-06-25 10:31:34 +10:00
parent 5f90fb4007
commit 103b8f11d6
2 changed files with 15 additions and 12 deletions

View File

@@ -1192,10 +1192,10 @@ valid_draw_indirect_elements(struct gl_context *ctx,
return valid_draw_indirect(ctx, mode, indirect, size, name); return valid_draw_indirect(ctx, mode, indirect, size, name);
} }
static inline GLboolean GLboolean
valid_draw_indirect_multi(struct gl_context *ctx, _mesa_valid_draw_indirect_multi(struct gl_context *ctx,
GLsizei primcount, GLsizei stride, GLsizei primcount, GLsizei stride,
const char *name) const char *name)
{ {
/* From the ARB_multi_draw_indirect specification: /* From the ARB_multi_draw_indirect specification:
@@ -1259,8 +1259,8 @@ _mesa_validate_MultiDrawArraysIndirect(struct gl_context *ctx,
/* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */ /* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */
assert(stride != 0); assert(stride != 0);
if (!valid_draw_indirect_multi(ctx, primcount, stride, if (!_mesa_valid_draw_indirect_multi(ctx, primcount, stride,
"glMultiDrawArraysIndirect")) "glMultiDrawArraysIndirect"))
return GL_FALSE; return GL_FALSE;
/* number of bytes of the indirect buffer which will be read */ /* number of bytes of the indirect buffer which will be read */
@@ -1287,8 +1287,8 @@ _mesa_validate_MultiDrawElementsIndirect(struct gl_context *ctx,
/* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */ /* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */
assert(stride != 0); assert(stride != 0);
if (!valid_draw_indirect_multi(ctx, primcount, stride, if (!_mesa_valid_draw_indirect_multi(ctx, primcount, stride,
"glMultiDrawElementsIndirect")) "glMultiDrawElementsIndirect"))
return GL_FALSE; return GL_FALSE;
/* number of bytes of the indirect buffer which will be read */ /* number of bytes of the indirect buffer which will be read */
@@ -1366,8 +1366,8 @@ _mesa_validate_MultiDrawArraysIndirectCount(struct gl_context *ctx,
/* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */ /* caller has converted stride==0 to drawArraysNumParams * sizeof(GLuint) */
assert(stride != 0); assert(stride != 0);
if (!valid_draw_indirect_multi(ctx, maxdrawcount, stride, if (!_mesa_valid_draw_indirect_multi(ctx, maxdrawcount, stride,
"glMultiDrawArraysIndirectCountARB")) "glMultiDrawArraysIndirectCountARB"))
return GL_FALSE; return GL_FALSE;
/* number of bytes of the indirect buffer which will be read */ /* number of bytes of the indirect buffer which will be read */
@@ -1397,8 +1397,8 @@ _mesa_validate_MultiDrawElementsIndirectCount(struct gl_context *ctx,
/* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */ /* caller has converted stride==0 to drawElementsNumParams * sizeof(GLuint) */
assert(stride != 0); assert(stride != 0);
if (!valid_draw_indirect_multi(ctx, maxdrawcount, stride, if (!_mesa_valid_draw_indirect_multi(ctx, maxdrawcount, stride,
"glMultiDrawElementsIndirectCountARB")) "glMultiDrawElementsIndirectCountARB"))
return GL_FALSE; return GL_FALSE;
/* number of bytes of the indirect buffer which will be read */ /* number of bytes of the indirect buffer which will be read */

View File

@@ -44,6 +44,9 @@ _mesa_is_valid_prim_mode(const struct gl_context *ctx, GLenum mode);
extern GLboolean extern GLboolean
_mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name); _mesa_valid_prim_mode(struct gl_context *ctx, GLenum mode, const char *name);
extern GLboolean
_mesa_valid_draw_indirect_multi(struct gl_context *ctx, GLsizei primcount,
GLsizei stride, const char *name);
extern GLboolean extern GLboolean
_mesa_validate_DrawArrays(struct gl_context *ctx, GLenum mode, GLsizei count); _mesa_validate_DrawArrays(struct gl_context *ctx, GLenum mode, GLsizei count);