mesa: extend vertex_array_attrib_format to support EXT_dsa

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Pierre-Eric Pelloux-Prayer
2019-11-07 10:55:23 +01:00
parent bb2241bf06
commit 657396aa10
+6 -12
View File
@@ -3076,8 +3076,8 @@ _mesa_VertexAttribLFormat(GLuint attribIndex, GLint size, GLenum type,
static void
vertex_array_attrib_format(GLuint vaobj, GLuint attribIndex, GLint size,
GLenum type, GLboolean normalized,
vertex_array_attrib_format(GLuint vaobj, bool isExtDsa, GLuint attribIndex,
GLint size, GLenum type, GLboolean normalized,
GLboolean integer, GLboolean doubles,
GLbitfield legalTypes, GLsizei sizeMax,
GLuint relativeOffset, const char *func)
@@ -3094,13 +3094,7 @@ vertex_array_attrib_format(GLuint vaobj, GLuint attribIndex, GLint size,
if (!vao)
return;
} else {
/* The ARB_direct_state_access spec says:
*
* "An INVALID_OPERATION error is generated by
* VertexArrayAttrib*Format if <vaobj> is not [compatibility profile:
* zero or] the name of an existing vertex array object."
*/
vao = _mesa_lookup_vao_err(ctx, vaobj, false, func);
vao = _mesa_lookup_vao_err(ctx, vaobj, isExtDsa, func);
if (!vao)
return;
@@ -3136,7 +3130,7 @@ _mesa_VertexArrayAttribFormat(GLuint vaobj, GLuint attribIndex, GLint size,
GLenum type, GLboolean normalized,
GLuint relativeOffset)
{
vertex_array_attrib_format(vaobj, attribIndex, size, type, normalized,
vertex_array_attrib_format(vaobj, false, attribIndex, size, type, normalized,
GL_FALSE, GL_FALSE, ATTRIB_FORMAT_TYPES_MASK,
BGRA_OR_4, relativeOffset,
"glVertexArrayAttribFormat");
@@ -3148,7 +3142,7 @@ _mesa_VertexArrayAttribIFormat(GLuint vaobj, GLuint attribIndex,
GLint size, GLenum type,
GLuint relativeOffset)
{
vertex_array_attrib_format(vaobj, attribIndex, size, type, GL_FALSE,
vertex_array_attrib_format(vaobj, false, attribIndex, size, type, GL_FALSE,
GL_TRUE, GL_FALSE, ATTRIB_IFORMAT_TYPES_MASK,
4, relativeOffset,
"glVertexArrayAttribIFormat");
@@ -3160,7 +3154,7 @@ _mesa_VertexArrayAttribLFormat(GLuint vaobj, GLuint attribIndex,
GLint size, GLenum type,
GLuint relativeOffset)
{
vertex_array_attrib_format(vaobj, attribIndex, size, type, GL_FALSE,
vertex_array_attrib_format(vaobj, false, attribIndex, size, type, GL_FALSE,
GL_FALSE, GL_TRUE, ATTRIB_LFORMAT_TYPES_MASK,
4, relativeOffset,
"glVertexArrayAttribLFormat");