> You haven't been running 'make check'. :) You also need to update > src/mesa/tests/dispatch_sanity.cpp.
There is something wrong with my box or something... I did run make check and there were no failures. Out of paranoia, I also ran src/mesa/main/tests/main-test explicitly and there were no failures there either. When I look at src/mesa/tests/dispatch_sanity.cpp, the functions for ARB_framebuffer_no_attachments in the table are commented out. When I remove the comments from them, then the test fails (DispatchSanity_test.GL31_CORE). What am I missing? I am utterly confused now about src/mesa/tests/dispatch_sanity.cpp. -Kevin On 04/29/2015 01:56 AM, kevin.rogo...@intel.com wrote: > From: Kevin Rogovin <kevin.rogo...@intel.com> > > Define the enumeration constants, function entry points and glGet for > the GL_ARB_framebuffer_no_attachments > > --- > .../glapi/gen/ARB_framebuffer_no_attachments.xml | 33 +++++++++++++++++++ > src/mapi/glapi/gen/Makefile.am | 1 + > src/mapi/glapi/gen/gl_API.xml | 4 ++- > src/mesa/main/fbobject.c | 12 +++++++ > src/mesa/main/fbobject.h | 7 ++++ > src/mesa/main/get.c | 3 ++ > src/mesa/main/get_hash_params.py | 38 > ++++++++++++++++++++++ > 7 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 > src/mapi/glapi/gen/ARB_framebuffer_no_attachments.xml > > diff --git a/src/mapi/glapi/gen/ARB_framebuffer_no_attachments.xml > b/src/mapi/glapi/gen/ARB_framebuffer_no_attachments.xml > new file mode 100644 > index 0000000..5bde14d > --- /dev/null > +++ b/src/mapi/glapi/gen/ARB_framebuffer_no_attachments.xml > @@ -0,0 +1,33 @@ > +<?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" offset="assign"> Since it looks like your patches will land before my ES3.1 patches, I'll have to update these with es2="3.1". This is mostly to help me remember. > + <param name="target" type="GLenum" /> > + <param name="pname" type="GLenum" /> > + <param name="param" type="GLint" /> </function> > + > +<function name="GetFramebufferParameteriv" offset="assign"> > + <param name="target" type="GLenum" /> > + <param name="pname" type="GLenum" /> > + <param name="params" type="GLint *" output="true" /> </function> > + > +</category> > + > +</OpenGLAPI> > diff --git a/src/mapi/glapi/gen/Makefile.am > b/src/mapi/glapi/gen/Makefile.am index 1c4b86a..dc61739 100644 > --- a/src/mapi/glapi/gen/Makefile.am > +++ b/src/mapi/glapi/gen/Makefile.am > @@ -129,6 +129,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 \ > diff --git a/src/mapi/glapi/gen/gl_API.xml > b/src/mapi/glapi/gen/gl_API.xml index a8a6db6..91882ef 100644 > --- a/src/mapi/glapi/gen/gl_API.xml > +++ b/src/mapi/glapi/gen/gl_API.xml > @@ -8324,7 +8324,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" > > diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index > eabbb96..5c78c40 100644 > --- a/src/mesa/main/fbobject.c > +++ b/src/mesa/main/fbobject.c > @@ -1292,6 +1292,18 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint > renderbuffer) > bind_renderbuffer(target, renderbuffer, true); } > > +extern void GLAPIENTRY > +_mesa_FramebufferParameteri(GLenum target, GLenum pname, GLint param) > +{ > + /* to be implemented */ > +} > + > +extern void GLAPIENTRY > +_mesa_GetFramebufferParameteriv(GLenum target, GLenum pname, GLint > +*params) { > + /* to be implemented */ > +} > + > > /** > * Remove the specified renderbuffer or texture from any attachment > point in diff --git a/src/mesa/main/fbobject.h > b/src/mesa/main/fbobject.h index 61aa1f5..76adb92 100644 > --- a/src/mesa/main/fbobject.h > +++ b/src/mesa/main/fbobject.h > @@ -211,4 +211,11 @@ 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 */ > diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index > a881bc5..ca9d13c 100644 > --- a/src/mesa/main/get.c > +++ b/src/mesa/main/get.c > @@ -393,6 +393,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[] = { @@ -466,6 +467,8 @@ > static const int extra_core_ARB_color_buffer_float_and_new_buffers[] = { > * remaining combinations. To look up the enums valid in a given API > * we will use a hash table specific to that API. These tables are in > * turn generated at build time and included through get_hash.h. > + * To add an entry (i.e. a new enumeration for glGet that is taken > + * from the table) add an entry to get_hash_params.py. > */ > > #include "get_hash.h" > diff --git a/src/mesa/main/get_hash_params.py > b/src/mesa/main/get_hash_params.py > index 41cb2c1..37d9545 100644 > --- a/src/mesa/main/get_hash_params.py > +++ b/src/mesa/main/get_hash_params.py > @@ -1,3 +1,34 @@ > +# glGet pnames possible, organized first by GL version # and then > +organized by GL extension. > +# There is a list for different combinations of GL_ version # that > +combination is specified by the field "apis". > +# The field "params" is a list of entries describing # how glGet* > +operates when passed a pname. > +# To add a pname for glGet* to handle, the entry is of the form # a) > +[ "PnameX", "LOC_CUSTOM, TypeX, ExtraRequirementX" ] # OR # b) [ > +"PnameX", "OffsetX, ExtraRequirement" ] # > +# - PnameX is the name of the pname passed to glGet without the GL_ prefix > +# - ExtraRequirement is extra requirment declared in get.c listing > +# GL requirements (such as extension requirements). If no extra > +# requirement is needed, then it is NO_EXTRA > +# > +# Form a) is for those pnames whose glGet implementation is # not a > +direct take of the value from a value stored in a field # but > +requires some "work". The code to perform the get needs # to be > +implemented in function find_custom_value() in get.c > +# - TypeX describes the type is of the form TYPE_[FLOAT|INT] or > TYPE_[FLOAT|INT]N_[2|3|4] or TYPE_ENUM > +# > +# Form b) is for those values that can be taken directly # from the > +context. > +# - OffsetX is the offset into the gl_context (or possible other structs) > +# There are macros defined in get.c, the most common cases are: > +# CONTEXT_FOO(field) for taking the value stored in gl_context::field, > FOO naming the Type > +# BUFFER_FOO(field) for taking the value stored in > gl_framebuffer::field, FOO naming the Type > +# ARRAY_FOO(field) for taking the value stored in > gl_vertex_array_object, FOO naming the Type > +# see get.c for further details and macros. > + > descriptor=[ > { "apis": ["GL", "GLES", "GLES2", "GL_CORE"], "params": [ > [ "ALPHA_BITS", "BUFFER_INT(Visual.alphaBits), extra_new_buffers" > ], @@ -798,6 +829,13 @@ 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 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev