[Mesa-dev] [PATCH 0/2] glsl/es31: precision qualifier doesn't need to match in shader interface block members

Samuel Iglesias Gonsálvez siglesias at igalia.com
Wed Oct 19 06:06:17 UTC 2016


Hello,

The last patch of this series fixes one dEQP-GLES31 test [0] (bug [1]).

GLSL ES 3.1 spec allows mismatching of precision qualifiers for shader
interface block members (uniform blocks and shader storage blocks).
However, in the rest of GLSL ES specs (including GLSL ES 3.2!) this is
the opposite.

Fortunately, the fix is not very intrusive. However it's strange that
this is allowed only on GLSL ES 3.1 while older and newer specs said
the opposite. Ian, What do you think? Should this be fixed in Mesa or
is a spec bug?

Thanks,

Sam

[0] dEQP-GLES31.functional.shaders.linkage.uniform.block.differing_precision
[1] https://bugs.freedesktop.org/show_bug.cgi?id=98243
 

Samuel Iglesias Gonsálvez (2):
  glsl: move intrastage_match() after interstage_member_mismatch()
  glsl/es31: precision qualifier doesn't need to match in shader
    interface block members

 src/compiler/glsl/link_interface_blocks.cpp | 95 +++++++++++++++--------------
 src/compiler/glsl/linker.cpp                | 10 ++-
 2 files changed, 58 insertions(+), 47 deletions(-)

-- 
2.7.4



More information about the mesa-dev mailing list