[Mesa-dev] [PATCH 0/7] precision qualifiers for ir_variable

Tapani Pälli tapani.palli at intel.com
Thu Nov 5 03:33:09 PST 2015


Hi;

I rebased Iago's patches and fixed some issues that I saw. On top of it
is 2 patches that fix precision related ES 3.1 CTS errors.

Any comments appreciated. What should be included in validation seems a
bit vague in the specs and I did not include anything else than precision
since this is what CTS explicitly checks for. Also, I noticed that Mesa
sets INVALID_OPERATION error always when validation fails, I don't think
this is correct. Spec lists the cases when error should happen and
otherwise only the validation state should be changed, this is also how
CTS expects it to work.

Currently we fail almost all dEQP tests for separate shader objects, these
patches did not have any effect on dEQP. I believe changes from Gregory
Hainut will fix some of those issues.

Thanks;

Iago Toral Quiroga (5):
  glsl: Add API to put default precision qualifiers in the symbol table
  glsl: Add default precision qualifiers to the symbol table
  glsl: Add user-defined default precision qualifiers to the symbol
    table
  glsl: Move the definition of precision_qualifier_allowed
  glsl: Add precision information to ir_variable

Tapani Pälli (2):
  glsl: do not loose precision information when packing varyings
  mesa: validate precision of varyings during ValidateProgramPipeline

 src/glsl/ast_to_hir.cpp            | 355 +++++++++++++++++++++++++++++--------
 src/glsl/glsl_parser.yy            |  11 ++
 src/glsl/glsl_symbol_table.cpp     |  24 +++
 src/glsl/glsl_symbol_table.h       |   2 +
 src/glsl/ir.h                      |  13 ++
 src/glsl/lower_packed_varyings.cpp |   1 +
 src/glsl/nir/glsl_types.cpp        |   4 +
 src/glsl/nir/glsl_types.h          |  11 ++
 src/mesa/main/pipelineobj.c        |  15 ++
 src/mesa/main/shader_query.cpp     |  55 ++++++
 src/mesa/main/shaderobj.h          |   3 +
 11 files changed, 423 insertions(+), 71 deletions(-)

-- 
2.4.3



More information about the mesa-dev mailing list