[Mesa-dev] [PATCH 00/13] add fp64 support to mesa and glsl compiler
Ilia Mirkin
imirkin at alum.mit.edu
Wed Feb 4 23:27:07 PST 2015
These patches have been around for over 6 months with little
change. The "glsl: add double support" patch is a bit large and
includes many of Tapani and Topi's follow-on fix patches. There's
probably still bugs in there, but at this point, I think it makes
sense to push them soon to avoid bitrot.
There's a st/mesa implementation, and nvc0 driver support which works
as well as softpipe (a handful of issues left over in st/mesa to do
with initializers). I believe there are cayman patches as well, not
sure what the status is.
Dave Airlie (11):
glapi: add ARB_gpu_shader_fp64 (v2)
mesa: add ARB_gpu_shader_fp64 extension info (v2)
mesa: add mesa_type_is_double helper function (v2)
glsl: add double type
mesa: add double uniform support. (v4)
glsl: add ARB_gpu_shader_fp64 to the glsl extensions. (v2)
glsl: add double support
glsl: enable/disable certain lowering passes for doubles
glsl/lower_instructions: add double lowering passes
glsl: implement double builtin functions
glsl: lower double optional passes (v2)
Ilia Mirkin (1):
glsl: add a lowering pass for frexp/ldexp with double arguments
Tapani Pälli (1):
glsl: validate output types for shader stages
src/glsl/ast.h | 2 +
src/glsl/ast_function.cpp | 67 +-
src/glsl/ast_to_hir.cpp | 85 ++-
src/glsl/builtin_functions.cpp | 751 ++++++++++++++-------
src/glsl/builtin_type_macros.h | 16 +
src/glsl/builtin_types.cpp | 30 +
src/glsl/glcpp/glcpp-parse.y | 3 +
src/glsl/glsl_lexer.ll | 42 +-
src/glsl/glsl_parser.yy | 33 +-
src/glsl/glsl_parser_extras.cpp | 5 +
src/glsl/glsl_parser_extras.h | 7 +
src/glsl/glsl_types.cpp | 109 ++-
src/glsl/glsl_types.h | 19 +-
src/glsl/ir.cpp | 104 ++-
src/glsl/ir.h | 21 +
src/glsl/ir_builder.cpp | 23 +
src/glsl/ir_builder.h | 5 +
src/glsl/ir_clone.cpp | 1 +
src/glsl/ir_constant_expression.cpp | 234 ++++++-
src/glsl/ir_optimization.h | 2 +
src/glsl/ir_print_visitor.cpp | 11 +
src/glsl/ir_set_program_inouts.cpp | 24 +-
src/glsl/ir_validate.cpp | 61 +-
src/glsl/link_uniform_initializers.cpp | 7 +-
src/glsl/link_uniforms.cpp | 8 +-
src/glsl/link_varyings.cpp | 3 +-
src/glsl/loop_controls.cpp | 19 +-
src/glsl/lower_instructions.cpp | 580 +++++++++++++++-
src/glsl/lower_mat_op_to_vec.cpp | 2 +
src/glsl/lower_ubo_reference.cpp | 13 +-
src/glsl/opt_constant_propagation.cpp | 3 +
src/glsl/opt_minmax.cpp | 13 +
src/glsl/standalone_scaffolding.cpp | 1 +
src/mapi/glapi/gen/ARB_gpu_shader_fp64.xml | 143 ++++
src/mapi/glapi/gen/ARB_separate_shader_objects.xml | 2 -
src/mapi/glapi/gen/Makefile.am | 1 +
src/mapi/glapi/gen/gl_API.xml | 2 +
src/mesa/main/extensions.c | 1 +
src/mesa/main/mtypes.h | 1 +
src/mesa/main/tests/dispatch_sanity.cpp | 70 +-
src/mesa/main/uniform_query.cpp | 27 +-
src/mesa/main/uniforms.c | 380 ++++++++++-
src/mesa/main/uniforms.h | 92 ++-
src/mesa/program/ir_to_mesa.cpp | 27 +-
src/mesa/program/prog_parameter.c | 16 +-
src/mesa/program/prog_parameter.h | 22 +
46 files changed, 2649 insertions(+), 439 deletions(-)
create mode 100644 src/mapi/glapi/gen/ARB_gpu_shader_fp64.xml
--
2.0.5
More information about the mesa-dev
mailing list