On 16/05/18 09:41, Marek Olšák wrote:
On Tue, May 15, 2018 at 4:59 PM, Jason Ekstrand <ja...@jlekstrand.net <mailto:ja...@jlekstrand.net>> wrote:

    On Tue, May 15, 2018 at 1:38 PM, Marek Olšák <mar...@gmail.com
    <mailto:mar...@gmail.com>> wrote:

        On Tue, May 15, 2018 at 4:09 PM, Ilia Mirkin
        <imir...@alum.mit.edu <mailto:imir...@alum.mit.edu>> wrote:

            On Tue, May 15, 2018 at 3:54 PM, Marek Olšák
            <mar...@gmail.com <mailto:mar...@gmail.com>> wrote:
            > On Tue, May 15, 2018 at 3:36 PM, Ilia Mirkin <imir...@alum.mit.edu 
<mailto:imir...@alum.mit.edu>> wrote:
            >>
            >> The extension is totally different... it adds things like 
"unsigned
            >> int", and a ton of texture*/shadow* variants. If it helps this 
one
            >> shader compile, that's a coincidence. IMO it's dangerous to start
            >> throwing things like this in.
            >
            >
            > That's why it prints a warning. The extension isn't exposed.

            It bumps the GLSL version to 1.30 though, which e.g. makes
            "in" and
            "out" a keyword. And a bunch of other stuff like that. Just
            seems
            dangerous.


        It may seem dangerous, but not after you consider that it
        changes a compile failure into "some behavior" and a warning.
        That is pretty safe, because you'll either get a compile failure
        again, or you'll get correct behavior as if a subset of the
        extension was exposed. Either case is harmless.


    This does seem really sketchy.  It's a spec violation because we are
    required to fail the shader compile for unknown extensions.  And
    it's letting a shader through even though we know it's likely to die
    in a fire later on due to the fact that we only implement 30% of
    gpu_shader4.  On top of that, the best justification we can come up
    with is a broken app that assumes gpu_shader4 but doesn't actually
    use it.


The best justification that we actually have is that there is an app which uses GLSL 1.20 + EXT_gpu_shader4 but actually only needs GLSL 1.30.

Marek

I did consider just using force_glsl_version, maybe we should just do that for now. Old extensions like these are going to haunt us for a while I think. I was trying to get Doom (2016) running yesterday and it seems it uses bits from EXT_direct_state_access.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to