[Mesa-dev] Precision qualifiers in the IR

Iago Toral itoral at igalia.com
Thu Jan 8 01:21:45 PST 2015


Hi,

In GLSL ES when the same uniform is declared in multiple shaders it must
have the same precision qualifier. There are a few dEQP tests that fail
because this is not checked in Mesa.

I think the right place to add this check would be in
cross_validate_globals(), but to do this we would need to access
precision qualifiers from an ir_variable (specifically, I think we need
this to be in glsl_type so we can do this check with uniform structs
too, which is what the tests actually check).

I see precision qualifiers being parsed and stored in the AST, but I
don't see where this information is passed to the IR: ir_variable or
glsl_type don't have this info, in fact,
apply_type_qualifier_to_variable() in ast_to_hir.cpp seems to ignore the
ast precision qualifier data completely.

So I am guessing that we should add precision information to the
glsl_type, but I wonder if there is a reason why this hasn't been done
yet, considering that there seems to be some kind of support for
precision qualifiers already, at least in the parser... am I missing
something?

Iago



More information about the mesa-dev mailing list