glapi: Add infrastructure for ARB_multi_bind

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Fredrik Höglund 2013-11-13 19:02:10 +01:00
parent 82291f64e3
commit 6655e70f99
14 changed files with 123 additions and 0 deletions

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
<!-- Note: no GLX protocol info yet. -->
<OpenGLAPI>
<category name="GL_ARB_multi_bind" number="147">
<function name="BindBuffersBase" offset="assign">
<param name="target" type="GLenum"/>
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="buffers" type="const GLuint *"/>
</function>
<function name="BindBuffersRange" offset="assign">
<param name="target" type="GLenum"/>
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="buffers" type="const GLuint *"/>
<param name="offsets" type="const GLintptr *"/>
<param name="sizes" type="const GLsizeiptr *"/>
</function>
<function name="BindTextures" offset="assign">
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="textures" type="const GLuint *"/>
</function>
<function name="BindSamplers" offset="assign">
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="samplers" type="const GLuint *"/>
</function>
<function name="BindImageTextures" offset="assign">
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="textures" type="const GLuint *"/>
</function>
<function name="BindVertexBuffers" offset="assign">
<param name="first" type="GLuint"/>
<param name="count" type="GLsizei"/>
<param name="buffers" type="const GLuint *"/>
<param name="offsets" type="const GLintptr *"/>
<param name="strides" type="const GLsizei *"/>
</function>
</category>
</OpenGLAPI>

View File

@ -133,6 +133,7 @@ API_XML = \
ARB_internalformat_query.xml \
ARB_invalidate_subdata.xml \
ARB_map_buffer_range.xml \
ARB_multi_bind.xml \
ARB_robustness.xml \
ARB_sample_shading.xml \
ARB_sampler_objects.xml \

View File

@ -8341,6 +8341,10 @@
</function>
</category>
<!-- ARB extensions #145...#146 -->
<xi:include href="ARB_multi_bind.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<!-- Non-ARB extensions sorted by extension number. -->
<category name="GL_EXT_blend_color" number="2">

View File

@ -2770,6 +2770,19 @@ _mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer)
}
}
void GLAPIENTRY
_mesa_BindBuffersRange(GLenum target, GLuint first, GLsizei count,
const GLuint *buffers,
const GLintptr *offsets, const GLsizeiptr *sizes)
{
}
void GLAPIENTRY
_mesa_BindBuffersBase(GLenum target, GLuint first, GLsizei count,
const GLuint *buffers)
{
}
void GLAPIENTRY
_mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
GLsizeiptr length)

View File

@ -209,6 +209,13 @@ _mesa_BindBufferRange(GLenum target, GLuint index,
void GLAPIENTRY
_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer);
void GLAPIENTRY
_mesa_BindBuffersRange(GLenum target, GLuint first, GLsizei count,
const GLuint *buffers,
const GLintptr *offsets, const GLsizeiptr *sizes);
void GLAPIENTRY
_mesa_BindBuffersBase(GLenum target, GLuint first, GLsizei count,
const GLuint *buffers);
void GLAPIENTRY
_mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset,
GLsizeiptr length);

View File

@ -285,6 +285,12 @@ _mesa_BindSampler(GLuint unit, GLuint sampler)
}
void GLAPIENTRY
_mesa_BindSamplers(GLuint first, GLsizei count, const GLuint *samplers)
{
}
/**
* Check if a coordinate wrap mode is legal.
* \return GL_TRUE if legal, GL_FALSE otherwise

View File

@ -81,6 +81,8 @@ _mesa_IsSampler(GLuint sampler);
void GLAPIENTRY
_mesa_BindSampler(GLuint unit, GLuint sampler);
void GLAPIENTRY
_mesa_BindSamplers(GLuint first, GLsizei count, const GLuint *samplers);
void GLAPIENTRY
_mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param);
void GLAPIENTRY
_mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);

View File

@ -478,6 +478,11 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
layer, access, format);
}
void GLAPIENTRY
_mesa_BindImageTextures(GLuint first, GLsizei count, const GLuint *textures)
{
}
void GLAPIENTRY
_mesa_MemoryBarrier(GLbitfield barriers)
{

View File

@ -45,6 +45,9 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
GLboolean layered, GLint layer, GLenum access,
GLenum format);
void GLAPIENTRY
_mesa_BindImageTextures(GLuint first, GLsizei count, const GLuint *textures);
void GLAPIENTRY
_mesa_MemoryBarrier(GLbitfield barriers);

View File

@ -882,6 +882,14 @@ const struct function gl_core_functions_possible[] = {
/* GL_ARB_internalformat_query */
{ "glGetInternalformativ", 30, -1 },
/* GL_ARB_multi_bind */
{ "glBindBuffersBase", 44, -1 },
{ "glBindBuffersRange", 44, -1 },
{ "glBindTextures", 44, -1 },
{ "glBindSamplers", 44, -1 },
{ "glBindImageTextures", 44, -1 },
{ "glBindVertexBuffers", 44, -1 },
/* GL_KHR_debug/GL_ARB_debug_output */
{ "glPushDebugGroup", 11, -1 },
{ "glPopDebugGroup", 11, -1 },

View File

@ -1373,6 +1373,12 @@ _mesa_BindTexture( GLenum target, GLuint texName )
}
void GLAPIENTRY
_mesa_BindTextures(GLuint first, GLsizei count, const GLuint *textures)
{
}
/**
* Set texture priorities.
*

View File

@ -176,6 +176,10 @@ extern void GLAPIENTRY
_mesa_BindTexture( GLenum target, GLuint texture );
extern void GLAPIENTRY
_mesa_BindTextures( GLuint first, GLsizei count, const GLuint *textures );
extern void GLAPIENTRY
_mesa_PrioritizeTextures( GLsizei n, const GLuint *textures,
const GLclampf *priorities );

View File

@ -1439,6 +1439,13 @@ _mesa_BindVertexBuffer(GLuint bindingIndex, GLuint buffer, GLintptr offset,
}
void GLAPIENTRY
_mesa_BindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers,
const GLintptr *offsets, const GLsizei *strides)
{
}
void GLAPIENTRY
_mesa_VertexAttribFormat(GLuint attribIndex, GLint size, GLenum type,
GLboolean normalized, GLuint relativeOffset)

View File

@ -306,6 +306,10 @@ extern void GLAPIENTRY
_mesa_BindVertexBuffer(GLuint bindingIndex, GLuint buffer, GLintptr offset,
GLsizei stride);
extern void GLAPIENTRY
_mesa_BindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers,
const GLintptr *offsets, const GLsizei *strides);
extern void GLAPIENTRY
_mesa_VertexAttribFormat(GLuint attribIndex, GLint size, GLenum type,
GLboolean normalized, GLuint relativeOffset);