Commit e2b59a39 authored by Fabian Bieler's avatar Fabian Bieler Committed by Marek Olšák

mapi: add ARB_tessellation_shader

Reviewed-by: Jordan Justen's avatarJordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
parent 5ead4487
<?xml version="1.0"?>
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
<!-- Note: no GLX protocol info yet. -->
<OpenGLAPI>
<category name="GL_ARB_tessellation_shader" number="91">
<!--<enum value="0" name="FALSE"/>
<enum value="1" name="TRUE"/>
<enum value="0x0004" name="TRIANGLES"/>
<enum value="0x0007" name="QUADS"/>
<enum value="0x0202" name="EQUAL"/>
<enum value="0x0900" name="CW"/>
<enum value="0x0901" name="CCW"/>-->
<enum value="0x000E" name="PATCHES"/>
<enum value="0x84F0" name="UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"/>
<enum value="0x84F1" name="UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
<enum value="0x886C" name="MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
<enum value="0x886D" name="MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
<enum value="0x8E1E" name="MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
<enum value="0x8E1F" name="MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
<enum value="0x8E72" name="PATCH_VERTICES"/>
<enum value="0x8E73" name="PATCH_DEFAULT_INNER_LEVEL"/>
<enum value="0x8E74" name="PATCH_DEFAULT_OUTER_LEVEL"/>
<enum value="0x8E75" name="TESS_CONTROL_OUTPUT_VERTICES"/>
<enum value="0x8E76" name="TESS_GEN_MODE"/>
<enum value="0x8E77" name="TESS_GEN_SPACING"/>
<enum value="0x8E78" name="TESS_GEN_VERTEX_ORDER"/>
<enum value="0x8E79" name="TESS_GEN_POINT_MODE"/>
<enum value="0x8E7A" name="ISOLINES"/>
<enum value="0x8E7B" name="FRACTIONAL_ODD"/>
<enum value="0x8E7C" name="FRACTIONAL_EVEN"/>
<enum value="0x8E7D" name="MAX_PATCH_VERTICES"/>
<enum value="0x8E7E" name="MAX_TESS_GEN_LEVEL"/>
<enum value="0x8E7F" name="MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
<enum value="0x8E80" name="MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
<enum value="0x8E81" name="MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
<enum value="0x8E82" name="MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
<enum value="0x8E83" name="MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
<enum value="0x8E84" name="MAX_TESS_PATCH_COMPONENTS"/>
<enum value="0x8E85" name="MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
<enum value="0x8E86" name="MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
<enum value="0x8E87" name="TESS_EVALUATION_SHADER"/>
<enum value="0x8E88" name="TESS_CONTROL_SHADER"/>
<enum value="0x8E89" name="MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
<enum value="0x8E8A" name="MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
<function name="PatchParameteri" offset="assign">
<param name="pname" type="GLenum"/>
<param name="value" type="GLint"/>
</function>
<function name="PatchParameterfv" offset="assign">
<param name="pname" type="GLenum"/>
<param name="values" type="const GLfloat *"/>
</function>
</category>
</OpenGLAPI>
......@@ -8072,7 +8072,11 @@
<xi:include href="ARB_vertex_type_2_10_10_10_rev.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<!-- ARB extensions #86...#93 -->
<!-- ARB extensions #86...#90 -->
<xi:include href="ARB_tessellation_shader.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<!-- ARB extensions #92...#93 -->
<xi:include href="ARB_draw_indirect.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
......
......@@ -118,6 +118,7 @@ static const char *prim_names[PRIM_MAX+3] = {
"GL_LINE_STRIP_ADJACENCY",
"GL_TRIANGLES_ADJACENCY",
"GL_TRIANGLE_STRIP_ADJACENCY",
"GL_PATCHES",
"outside begin/end",
"unknown state"
};
......
......@@ -90,7 +90,7 @@ struct vbo_context;
/** Extra draw modes beyond GL_POINTS, GL_TRIANGLE_FAN, etc */
#define PRIM_MAX GL_TRIANGLE_STRIP_ADJACENCY
#define PRIM_MAX GL_PATCHES
#define PRIM_OUTSIDE_BEGIN_END (PRIM_MAX + 1)
#define PRIM_UNKNOWN (PRIM_MAX + 2)
......
......@@ -1984,3 +1984,21 @@ _mesa_CreateShaderProgramv(GLenum type, GLsizei count,
return _mesa_create_shader_program(ctx, GL_TRUE, type, count, strings);
}
/**
* For GL_ARB_tessellation_shader
*/
extern void GLAPIENTRY
_mesa_PatchParameteri(GLenum pname, GLint value)
{
/* STUB */
}
extern void GLAPIENTRY
_mesa_PatchParameterfv(GLenum pname, const GLfloat *values)
{
/* STUB */
}
......@@ -264,6 +264,14 @@ _mesa_get_program_resourceiv(struct gl_shader_program *shProg,
GLsizei bufSize, GLsizei *length,
GLint *params);
/* GL_ARB_tessellation_shader */
extern void GLAPIENTRY
_mesa_PatchParameteri(GLenum pname, GLint value);
extern void GLAPIENTRY
_mesa_PatchParameterfv(GLenum pname, const GLfloat *values);
#ifdef __cplusplus
}
#endif
......
......@@ -563,6 +563,8 @@ const struct function common_desktop_functions_possible[] = {
/* GL 4.0 */
{ "glMinSampleShading", 40, -1 },
{ "glPatchParameteri", 40, -1 },
{ "glPatchParameterfv", 40, -1 },
{ "glBlendEquationi", 40, -1 },
{ "glBlendEquationSeparatei", 40, -1 },
{ "glBlendFunci", 40, -1 },
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment