On Tue, Oct 22, 2013 at 11:01 AM, Ian Romanick <i...@freedesktop.org> wrote:
> On 10/22/2013 09:00 AM, Courtney Goeltzenleuchter wrote: > > I'm curious about what the proper behavior should be for extensions that > > have been integrated into core. In particular I'm looking at > > ARB_texture_cube_map as we are using that in one of the ARB_texture_view > > piglit tests and when run on the Mesa driver the piglit > > function piglit_require_extension("GL_ARB_texture_cube_map") fails. > > We've basically taken a page from Apple's playbook. See the extension > list at > https://developer.apple.com/graphicsimaging/opengl/capabilities/. They > don't list *anything* that's part of OpenGL 3.2 Core Profile. > > Applications have to specifically request a core profile context, so > we're assuming that they're not going to check for extensions that have > been part of core for years. We set the cut-off at GL 1.5. See 0fef911 > and the few patches just before it. > This has been Mesa behavior for over a year, and we haven't encountered > any application problems. > > > Running with MESA_INFO on I see: > > Mesa: Mesa GL_VERSION = 3.1 (Core Profile) Mesa 9.3.0-devel (git-0398dd3) > > Mesa: Mesa GL_RENDERER = Mesa DRI Intel(R) Ivybridge Server > > Mesa: Mesa GL_VENDOR = Intel Open Source Technology Center > > Mesa: Mesa GL_EXTENSIONS does not contain ARB_texture_cube_map > > > > When we run the same test on the NVIDIA closed source driver the test > > does find an ARB_texture_cube_map extension. It also is given a > > compatibility context and not a Core Profile context. > > This will depend on how you set the config.supports_gl_core_version and > config.supports_gl_compat_version values in the test. I believe the > framework first tries the requested compatibility version. If that > fails, it tries the requested core version. We only support up to 3.0 > in compatibility profile. > The piglit test is setting compatibility and core as: config.supports_gl_compat_version = 13; config.supports_gl_core_version = 31; Looks like piglit's make_context_current (piglit_wfl_framework.c) tries the core version first, then compatibility. > There are quite a few piglit tests that do things like (from > tests/spec/arb_sync/DeleteSync.c): > > if (piglit_get_gl_version() < 32) { > piglit_require_extension("GL_ARB_sync"); > } > We'll do this for our tests. Thanks! > > However, there are probably many other tests that have latent bugs in > core profile checking because they always get a sufficiently high > compatibility profile version. > > > The spec says that deprecated features may not be available in newer > > Core Profiles. ARB_texture_cube_map has not been deprecated, it's been > > promoted into core. According to the OpenGL Spec: > > > > H.3.2 > > Promoting Extensions to Core Features > > Extensions can be promoted to required core features in later > > revisions of OpenGL. > > When this occurs, the extension specifications are merged into the > > core specifica- > > tion. Functions and enumerants that are part of such promoted > > extensions will have > > the ARB, KHR, EXT, or vendor affix removed. > > I*mplementations of such later revisions should continue to export > > the name* > > *strings of promoted extensions in the EXTENSIONS strings and > > continue to support* > > *the affixed versions of functions and enumerants as a transition > aid.* > > For descriptions of extensions promoted to core features in OpenGL > > 1.3 and > > beyond, see the corresponding version of the OpenGL specification, > > or the de- > > scriptions of that version in version-specific appendices to later > > versions of the > > specification. > > > > > > This says to me that the Mesa driver should be listing > > GL_ARB_texture_cube_map in it's extension string. So, why isn't it > > there? What am I missing? > > > > What should the piglit test do? > > Is this going to be a compatibility issue for applications? > > > > Thanks, > > Courtney > > > > -- > > Courtney Goeltzenleuchter > > LunarG > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > -- Courtney Goeltzenleuchter LunarG
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev