[Mesa-dev] [PATCH] [rfc] mesa: don't allow GLSL 1.30 without GL3.

Dave Airlie airlied at gmail.com
Fri Jan 20 03:06:56 PST 2012

On Wed, Jan 11, 2012 at 5:40 PM, Paul Berry <stereotype441 at gmail.com> wrote:
> On 10 January 2012 13:38, Christoph Bumiller <e0425955 at student.tuwien.ac.at>
> wrote:
>> On 01/10/2012 10:09 PM, Dave Airlie wrote:
>> > On Tue, Jan 10, 2012 at 7:28 PM, Eric Anholt <eric at anholt.net> wrote:
>> >> On Tue, 10 Jan 2012 11:52:57 +0000, Dave Airlie <airlied at gmail.com>
>> >> wrote:
>> >>> From: Dave Airlie <airlied at redhat.com>
>> >>>
>> >>> Things can get confused if you expose one without the other which can
>> >>> happen
>> >>> if you are missing one or two of the extensions (like say float
>> >>> textures).
>> >>
>> >> Can you clarify what "things can get confused" means?
>> >
>> > Well piglit starts to fail in wierd and wonderful way, I just don't
>> > think we have any valid use cases for exposing GLSL1.30 without GL3
>> > and I'd like to enforce that.
>> >
>> Some tests only check for GLSL 1.3 and then use functions like
>> glUniform*ui that glew only sets up if GL_VERSION_3_0 and as a result
>> they call a NULL pointer.
> Personally I would call this a flaw in the piglit tests.  If sloppy
> dependency checking in piglit tests is our only reason for making this
> change, then I'd rather fix the piglit tests rather than constrain what GLSL
> version Mesa can advertise.  It was really useful for us in our GL 3.0 work
> on Sandy Bridge to be able to enable GLSL 1.30 support when it was ready,
> and not have to wait until we had all the components of GL 3.0 in place
> before we could start testing the GLSL 1.30 features.

At a guess you guys used version overrides, so I can't see how this
constraint would stop it being really useful.

The thing is no application in existance is expected GL2.1 + GLSL
1.30, like what features of GLSL1.30 would a GL2 targeted app use? and
the fact that our own test suite chokes on it should show this.

If we finish EXT_gpu_shader4, then we should expose that, but exposing
GLSL 1.30 without the means for applications to get access to the
features via the GL api is just going to hurt.

I don't mind carrying this in Fedora, but we have to realise that
nearly all vendors can't ship GL3 drivers currently so we should try
and keep things working. Maybe when we get EXT_gpu_shader4 we can
revisit and check if GLEW can do the right thing.


More information about the mesa-dev mailing list