diff options
author | Ian Romanick <[email protected]> | 2013-01-21 23:42:19 -0500 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2013-01-25 09:07:35 -0500 |
commit | 99b8935ce2d63902bdb3e5a76154240f0e011b80 (patch) | |
tree | 7cb85be241d58a9b09495bf6fdb88b8a7d6acfba /src/glsl/linker.h | |
parent | 007de494d2cd110786075f8aa014d8a0547d2063 (diff) |
glsl: Add new uniform_field_visitor::process variant
This flavor takes a type and a base name. It will be used to handle
cases where the block name (instead of the instance name) is used for an
interface block.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Carl Worth <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/linker.h')
-rw-r--r-- | src/glsl/linker.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/glsl/linker.h b/src/glsl/linker.h index 95937d4ee87..5818f7ead99 100644 --- a/src/glsl/linker.h +++ b/src/glsl/linker.h @@ -84,6 +84,23 @@ public: */ void process(ir_variable *var); + /** + * Begin processing a uniform of a structured type. + * + * This flavor of \c process should be used to handle structured types + * (i.e., structures, interfaces, or arrays there of) that need special + * name handling. A common usage is to handle cases where the block name + * (instead of the instance name) is used for an interface block. + * + * \param type Type that is to be processed, associated with \c name + * \param name Base name of the structured uniform being processed + * + * \note + * \c type must be \c GLSL_TYPE_RECORD, \c GLSL_TYPE_INTERFACE, or an array + * there of. + */ + void process(const glsl_type *type, const char *name); + protected: /** * Method invoked for each leaf of the uniform |