[Mesa-dev] [RFC] [PATCH 1/2] mesa: let GL3 buf obj queries not depend on opengl major version

Jose Fonseca jfonseca at vmware.com
Mon Sep 19 10:12:10 PDT 2011


----- Original Message -----
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 09/19/2011 07:20 AM, Brian Paul wrote:
> > On 09/19/2011 04:25 AM, Yuanhan Liu wrote:
> >> If I understand correctly, the new GL3 buffer object queries
> >> parameters, like BUFFER_MAP_ACCESS_FLAGS, depends on
> >> ARB_map_buffer_range extension.
> > 
> > That would make sense, but in fact the extension spec
> > (http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt)
> > says nothing about these queries.  They were added in GL 3.0.
> 
> It seems like this could be an error in the extension spec.  This is
> one of the extensions, like ARB_framebuffer_object, that "back ports"
> OpenGL 3.0 functionality to previous versions.  These extensions are
> supposed to provide *identical* functionality to OpenGL 3.0.  The
> other cases of mismatches have been determined to be bugs in the
> extension specs.

FWIW, this ability would be useful for GL debuggers such as apitrace.  Otherwise the ARB_map_buffer_range extension is unbalanced: it adds new state that can never be queried. 

> The question is, what do other implementations do?  The other other
> question is, are there any implementations that support
> ARB_map_buffer_range but not OpenGL 3.0?

Very good questions...

The answer to the later question can be obtained by data mining openbenchmarking.org, by entering this query on google:

   site:openbenchmarking.org GL_ARB_map_buffer_range glxinfo "OpenGL version string: 2.1" -mesa

and there are a few NVIDIA cards / driver combinations out there that hit this:

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 7900 GT/GTO/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 260.19.36

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX 3450/4000 SDI/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 195.36.31

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce Go 7400/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 270.29

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce Go 7900 GS/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 260.19.06

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 7600 GT/PCI/SSE2
OpenGL version string: 2.1.2 NVIDIA 270.30

If anybody had one of these, we could tell for sure.

Jose


More information about the mesa-dev mailing list