mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 14:18:07 +02:00
glapi: add ARB_indirect_parameters definitions
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
7ca67c752b
commit
b3e2c21fe5
7 changed files with 63 additions and 1 deletions
30
src/mapi/glapi/gen/ARB_indirect_parameters.xml
Normal file
30
src/mapi/glapi/gen/ARB_indirect_parameters.xml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
|
||||
|
||||
<OpenGLAPI>
|
||||
|
||||
<category name="GL_ARB_draw_indirect" number="154">
|
||||
|
||||
<enum name="PARAMETER_BUFFER_ARB" value="0x80EE"/>
|
||||
<enum name="PARAMETER_BUFFER_BINDING_ARB" value="0x80EF"/>
|
||||
|
||||
<function name="MultiDrawArraysIndirectCountARB" exec="dynamic">
|
||||
<param name="mode" type="GLenum"/>
|
||||
<param name="indirect" type="GLintptr"/>
|
||||
<param name="drawcount" type="GLintptr"/>
|
||||
<param name="maxdrawcount" type="GLsizei"/>
|
||||
<param name="stride" type="GLsizei"/>
|
||||
</function>
|
||||
|
||||
<function name="MultiDrawElementsIndirectCountARB" exec="dynamic">
|
||||
<param name="mode" type="GLenum"/>
|
||||
<param name="type" type="GLenum"/>
|
||||
<param name="indirect" type="GLintptr"/>
|
||||
<param name="drawcount" type="GLintptr"/>
|
||||
<param name="maxdrawcount" type="GLsizei"/>
|
||||
<param name="stride" type="GLsizei"/>
|
||||
</function>
|
||||
|
||||
</category>
|
||||
|
||||
</OpenGLAPI>
|
||||
|
|
@ -137,6 +137,7 @@ API_XML = \
|
|||
ARB_get_texture_sub_image.xml \
|
||||
ARB_gpu_shader_fp64.xml \
|
||||
ARB_gpu_shader5.xml \
|
||||
ARB_indirect_parameters.xml \
|
||||
ARB_instanced_arrays.xml \
|
||||
ARB_internalformat_query.xml \
|
||||
ARB_invalidate_subdata.xml \
|
||||
|
|
|
|||
|
|
@ -8247,7 +8247,11 @@
|
|||
|
||||
<xi:include href="ARB_multi_bind.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
|
||||
|
||||
<!-- ARB extensions 148 - 159 -->
|
||||
<!-- ARB extensions 148 - 153 -->
|
||||
|
||||
<xi:include href="ARB_indirect_parameters.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
|
||||
|
||||
<!-- ARB extensions 155 - 159 -->
|
||||
|
||||
<xi:include href="ARB_clip_control.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ EXT(ARB_gpu_shader5 , ARB_gpu_shader5
|
|||
EXT(ARB_gpu_shader_fp64 , ARB_gpu_shader_fp64 , x , GLC, x , x , 2010)
|
||||
EXT(ARB_half_float_pixel , dummy_true , GLL, GLC, x , x , 2003)
|
||||
EXT(ARB_half_float_vertex , ARB_half_float_vertex , GLL, GLC, x , x , 2008)
|
||||
EXT(ARB_indirect_parameters , ARB_indirect_parameters , x , GLC, x , x , 2013)
|
||||
EXT(ARB_instanced_arrays , ARB_instanced_arrays , GLL, GLC, x , x , 2008)
|
||||
EXT(ARB_internalformat_query , ARB_internalformat_query , GLL, GLC, x , x , 2011)
|
||||
EXT(ARB_invalidate_subdata , dummy_true , GLL, GLC, x , x , 2012)
|
||||
|
|
|
|||
|
|
@ -3700,6 +3700,7 @@ struct gl_extensions
|
|||
GLboolean ARB_gpu_shader5;
|
||||
GLboolean ARB_gpu_shader_fp64;
|
||||
GLboolean ARB_half_float_vertex;
|
||||
GLboolean ARB_indirect_parameters;
|
||||
GLboolean ARB_instanced_arrays;
|
||||
GLboolean ARB_internalformat_query;
|
||||
GLboolean ARB_map_buffer_range;
|
||||
|
|
|
|||
|
|
@ -1844,6 +1844,10 @@ const struct function gl_core_functions_possible[] = {
|
|||
{ "glGetQueryBufferObjecti64v", 45, -1 },
|
||||
{ "glGetQueryBufferObjectui64v", 45, -1 },
|
||||
|
||||
/* GL_ARB_indirect_parameters */
|
||||
{ "glMultiDrawArraysIndirectCountARB", 31, -1 },
|
||||
{ "glMultiDrawElementsIndirectCountARB", 31, -1 },
|
||||
|
||||
{ NULL, 0, -1 }
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1732,6 +1732,25 @@ vbo_exec_MultiDrawElementsIndirect(GLenum mode, GLenum type,
|
|||
primcount, stride);
|
||||
}
|
||||
|
||||
static void GLAPIENTRY
|
||||
vbo_exec_MultiDrawArraysIndirectCount(GLenum mode,
|
||||
GLintptr indirect,
|
||||
GLintptr drawcount,
|
||||
GLsizei maxdrawcount, GLsizei stride)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void GLAPIENTRY
|
||||
vbo_exec_MultiDrawElementsIndirectCount(GLenum mode, GLenum type,
|
||||
GLintptr indirect,
|
||||
GLintptr drawcount,
|
||||
GLsizei maxdrawcount, GLsizei stride)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the dispatch table with the VBO functions for drawing.
|
||||
*/
|
||||
|
|
@ -1779,6 +1798,8 @@ vbo_initialize_exec_dispatch(const struct gl_context *ctx,
|
|||
if (ctx->API == API_OPENGL_CORE) {
|
||||
SET_MultiDrawArraysIndirect(exec, vbo_exec_MultiDrawArraysIndirect);
|
||||
SET_MultiDrawElementsIndirect(exec, vbo_exec_MultiDrawElementsIndirect);
|
||||
SET_MultiDrawArraysIndirectCountARB(exec, vbo_exec_MultiDrawArraysIndirectCount);
|
||||
SET_MultiDrawElementsIndirectCountARB(exec, vbo_exec_MultiDrawElementsIndirectCount);
|
||||
}
|
||||
|
||||
if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue