Module: Mesa Branch: master Commit: 36e25ccd29056d965612523f82d973b43b85313e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=36e25ccd29056d965612523f82d973b43b85313e
Author: Chris Forbes <chr...@ijw.co.nz> Date: Wed Sep 25 16:56:36 2013 +1200 glsl: flag shaders which use gather4 at all Signed-off-by: Chris Forbes <chr...@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> --- src/glsl/ir_set_program_inouts.cpp | 9 +++++++++ src/mesa/main/mtypes.h | 2 ++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp index 1267d6d..ab23538 100644 --- a/src/glsl/ir_set_program_inouts.cpp +++ b/src/glsl/ir_set_program_inouts.cpp @@ -59,6 +59,7 @@ public: virtual ir_visitor_status visit_enter(ir_function_signature *); virtual ir_visitor_status visit_enter(ir_expression *); virtual ir_visitor_status visit_enter(ir_discard *); + virtual ir_visitor_status visit_enter(ir_texture *); virtual ir_visitor_status visit(ir_dereference_variable *); private: @@ -319,6 +320,14 @@ ir_set_program_inouts_visitor::visit_enter(ir_discard *) return visit_continue; } +ir_visitor_status +ir_set_program_inouts_visitor::visit_enter(ir_texture *ir) +{ + if (ir->op == ir_tg4) + prog->UsesGather = true; + return visit_continue; +} + void do_set_program_inouts(exec_list *instructions, struct gl_program *prog, GLenum shader_type) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 3d414d5..514f810 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1963,6 +1963,8 @@ struct gl_program GLbitfield SamplersUsed; /**< Bitfield of which samplers are used */ GLbitfield ShadowSamplers; /**< Texture units used for shadow sampling. */ + GLboolean UsesGather; /**< Does this program use gather4 at all? */ + /** Named parameters, constants, etc. from program text */ struct gl_program_parameter_list *Parameters; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit