mesa: Constants and functions for ARB_framebuffer_no_attachments

Define the enumeration constants, function entry points and
glGet for the GL_ARB_framebuffer_no_attachments.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kevin Rogovin <kevin.rogovin@intel.com>
This commit is contained in:
Kevin Rogovin
2015-06-17 13:29:51 +03:00
committed by Martin Peres
parent da81999bee
commit c9d26f201a
9 changed files with 84 additions and 3 deletions

View File

@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
<OpenGLAPI>
<category name="GL_ARB_framebuffer_no_attachments" number="130">
<enum name="FRAMEBUFFER_DEFAULT_WIDTH" value="0x9310" />
<enum name="FRAMEBUFFER_DEFAULT_HEIGHT" value="0x9311" />
<enum name="FRAMEBUFFER_DEFAULT_LAYERS" value="0x9312" />
<enum name="FRAMEBUFFER_DEFAULT_SAMPLES" value="0x9313" />
<enum name="FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" value="0x9314" />
<enum name="MAX_FRAMEBUFFER_WIDTH" value="0x9315" />
<enum name="MAX_FRAMEBUFFER_HEIGHT" value="0x9316" />
<enum name="MAX_FRAMEBUFFER_LAYERS" value="0x9317" />
<enum name="MAX_FRAMEBUFFER_SAMPLES" value="0x9318" />
<function name="FramebufferParameteri">
<param name="target" type="GLenum"/>
<param name="pname" type="GLenum"/>
<param name="param" type="GLint" />
</function>
<function name="GetFramebufferParameteriv">
<param name="target" type="GLenum" />
<param name="pname" type="GLenum" />
<param name="params" type="GLint *" output="true" />
</function>
</category>
</OpenGLAPI>

View File

@@ -131,6 +131,7 @@ API_XML = \
ARB_draw_instanced.xml \
ARB_ES2_compatibility.xml \
ARB_ES3_compatibility.xml \
ARB_framebuffer_no_attachments.xml \
ARB_framebuffer_object.xml \
ARB_geometry_shader4.xml \
ARB_get_program_binary.xml \

View File

@@ -138,6 +138,11 @@ functions = {
# with OpenGL 3.1.
"TexBufferRange": exec_info(core=31),
# OpenGL 4.3 / GL_ARB_framebuffer_no_attachments. Mesa can expose the
# extension with OpenGL 3.0.
"FramebufferParameteri": exec_info(compatibility=30, core=31),
"GetFramebufferParameteri": exec_info(compatibility=30, core=31),
# OpenGL 4.5 / GL_ARB_direct_state_access. Mesa can expose the extension
# with core profile.
"CreateTransformFeedbacks": exec_info(core=31),

View File

@@ -8188,7 +8188,9 @@
<!-- No new functions, types, enums. -->
</category>
<!-- ARB extensions #130..#131 -->
<xi:include href="ARB_framebuffer_no_attachments.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<!-- ARB extensions #131 -->
<category name="GL_ARB_explicit_uniform_location" number="128">
<enum name="MAX_UNIFORM_LOCATIONS" count="1" value="0x826E" >

View File

@@ -1335,6 +1335,34 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer)
bind_renderbuffer(target, renderbuffer, true);
}
void GLAPIENTRY
_mesa_FramebufferParameteri(GLenum target, GLenum pname, GLint param)
{
GET_CURRENT_CONTEXT(ctx);
(void) target;
(void) pname;
(void) param;
_mesa_error(ctx, GL_INVALID_OPERATION,
"glFramebufferParameteri not supported "
"(ARB_framebuffer_no_attachments not implemented)");
}
void GLAPIENTRY
_mesa_GetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
GET_CURRENT_CONTEXT(ctx);
(void) target;
(void) pname;
(void) param;
_mesa_error(ctx, GL_INVALID_OPERATION,
"glGetFramebufferParameteriv not supported "
"(ARB_framebuffer_no_attachments not implemented)");
}
/**
* Remove the specified renderbuffer or texture from any attachment point in

View File

@@ -288,4 +288,10 @@ extern void GLAPIENTRY
_mesa_DiscardFramebufferEXT(GLenum target, GLsizei numAttachments,
const GLenum *attachments);
extern void GLAPIENTRY
_mesa_FramebufferParameteri(GLenum target, GLenum pname, GLint param);
extern void GLAPIENTRY
_mesa_GetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
#endif /* FBOBJECT_H */

View File

@@ -400,6 +400,7 @@ EXTRA_EXT(INTEL_performance_query);
EXTRA_EXT(ARB_explicit_uniform_location);
EXTRA_EXT(ARB_clip_control);
EXTRA_EXT(EXT_polygon_offset_clamp);
EXTRA_EXT(ARB_framebuffer_no_attachments);
static const int
extra_ARB_color_buffer_float_or_glcore[] = {

View File

@@ -804,6 +804,12 @@ descriptor=[
[ "MIN_FRAGMENT_INTERPOLATION_OFFSET", "CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), extra_ARB_gpu_shader5" ],
[ "MAX_FRAGMENT_INTERPOLATION_OFFSET", "CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), extra_ARB_gpu_shader5" ],
[ "FRAGMENT_INTERPOLATION_OFFSET_BITS", "CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), extra_ARB_gpu_shader5" ],
# GL_ARB_framebuffer_no_attachments
["MAX_FRAMEBUFFER_WIDTH", "CONTEXT_INT(Const.MaxFramebufferWidth), extra_ARB_framebuffer_no_attachments"],
["MAX_FRAMEBUFFER_HEIGHT", "CONTEXT_INT(Const.MaxFramebufferHeight), extra_ARB_framebuffer_no_attachments"],
["MAX_FRAMEBUFFER_LAYERS", "CONTEXT_INT(Const.MaxFramebufferLayers), extra_ARB_framebuffer_no_attachments"],
["MAX_FRAMEBUFFER_SAMPLES", "CONTEXT_INT(Const.MaxFramebufferSamples), extra_ARB_framebuffer_no_attachments"],
]},
# Enums restricted to OpenGL Core profile

View File

@@ -823,8 +823,8 @@ const struct function common_desktop_functions_possible[] = {
// { "glVertexArrayVertexAttribIFormatEXT", 43, -1 }, // XXX: Add to xml
// { "glVertexArrayVertexAttribBindingEXT", 43, -1 }, // XXX: Add to xml
// { "glVertexArrayVertexBindingDivisorEXT", 43, -1 }, // XXX: Add to xml
// { "glFramebufferParameteri", 43, -1 }, // XXX: Add to xml
// { "glGetFramebufferParameteriv", 43, -1 }, // XXX: Add to xml
{ "glFramebufferParameteri", 43, -1 },
{ "glGetFramebufferParameteriv", 43, -1 },
// { "glNamedFramebufferParameteriEXT", 43, -1 }, // XXX: Add to xml
// { "glGetNamedFramebufferParameterivEXT", 43, -1 }, // XXX: Add to xml
// { "glGetInternalformati64v", 43, -1 }, // XXX: Add to xml