GL_ARB_texture_buffer_range not started
GL_ARB_texture_storage DONE
GL_ARB_texture_storage_multisample not started
- GL_ARB_vertex_attrib_64bit not started
+ GL_ARB_vertex_attrib_64bit DONE
GL_ARB_vertex_attrib_binding DONE
GL_EXT_buffer_storage DONE
GL_EXT_external_buffer n/a
GL_EXT_separate_shader_objects n/a
GL_EXT_sparse_texture n/a
GL_EXT_texture_storage n/a
- GL_EXT_vertex_attrib_64bit not started
+ GL_EXT_vertex_attrib_64bit DONE
GL_EXT_EGL_image_storage n/a
GL_NV_bindless_texture n/a
GL_NV_gpu_shader5 n/a
<param name="pname" type="GLenum"/>
<param name="params" type="GLdouble *"/>
</function>
+
+ <function name="VertexArrayVertexAttribLOffsetEXT">
+ <param name="vaobj" type="GLuint" />
+ <param name="buffer" type="GLuint" />
+ <param name="index" type="GLuint" />
+ <param name="size" type="GLint" />
+ <param name="type" type="GLenum" />
+ <param name="stride" type="GLsizei" />
+ <param name="offset" type="GLintptr" />
+ </function>
</category>
</OpenGLAPI>
"GetVertexArrayPointeri_vEXT": 1582,
"NamedFramebufferParameteriEXT": 1583,
"GetNamedFramebufferParameterivEXT": 1584,
+ "VertexArrayVertexAttribLOffsetEXT": 1585,
}
functions = [
{ "glVertexAttribL4dv", 41, -1 },
{ "glVertexAttribLPointer", 41, -1 },
{ "glGetVertexAttribLdv", 41, -1 },
+ { "glVertexArrayVertexAttribLOffsetEXT", 41, -1 },
/* GL 4.3 */
{ "glIsRenderbuffer", 43, -1 },
}
+void GLAPIENTRY
+_mesa_VertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size,
+ GLenum type, GLsizei stride, GLintptr offset)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ GLenum format = GL_RGBA;
+ struct gl_vertex_array_object* vao;
+ struct gl_buffer_object* vbo;
+
+ if (!_lookup_vao_and_vbo_dsa(ctx, vaobj, buffer, offset,
+ &vao, &vbo,
+ "glVertexArrayVertexAttribLOffsetEXT"))
+ return;
+
+ if (index >= ctx->Const.Program[MESA_SHADER_VERTEX].MaxAttribs) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glVertexArrayVertexAttribLOffsetEXT(idx)");
+ return;
+ }
+
+ const GLbitfield legalTypes = DOUBLE_BIT;
+
+ if (!validate_array_and_format(ctx, "glVertexArrayVertexAttribLOffsetEXT",
+ vao, vbo,
+ VERT_ATTRIB_GENERIC(index), legalTypes,
+ 1, 4, size, type, stride,
+ GL_FALSE, GL_FALSE, GL_TRUE, format, (void*) offset))
+ return;
+
+ update_array(ctx, vao, vbo,
+ VERT_ATTRIB_GENERIC(index), format, 4,
+ size, type, stride, GL_FALSE, GL_FALSE, GL_TRUE, (void*) offset);
+}
+
+
void GLAPIENTRY
_mesa_VertexAttribIPointer_no_error(GLuint index, GLint size, GLenum type,
GLsizei stride, const GLvoid *ptr)
_mesa_VertexArrayVertexAttribIOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size,
GLenum type, GLsizei stride, GLintptr offset);
+extern void GLAPIENTRY
+_mesa_VertexArrayVertexAttribLOffsetEXT(GLuint vaobj, GLuint buffer, GLuint index, GLint size,
+ GLenum type, GLsizei stride, GLintptr offset);
+
extern void GLAPIENTRY
_mesa_GetVertexArrayIntegervEXT(GLuint vaobj, GLenum pname, GLint *param);