diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-21 16:05:29 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-06-23 10:56:04 -0700 |
commit | 8b80e9f9e3bc9ca41c95125826139471f73602c4 (patch) | |
tree | 39cfe73196ecd6c20b91933ec3af7ef467e1b6f0 | |
parent | 57bb893a46ced683792f8e7ebdffbb5c5a892b84 (diff) |
ir_variable: Add query to get number of slots used by a variable
-rw-r--r-- | ir.cpp | 8 | ||||
-rw-r--r-- | ir.h | 8 |
2 files changed, 16 insertions, 0 deletions
@@ -756,6 +756,14 @@ ir_variable::interpolation_string() const } +unsigned +ir_variable::component_slots() const +{ + /* FINISHME: Sparsely accessed arrays require fewer slots. */ + return this->type->component_slots(); +} + + ir_function_signature::ir_function_signature(const glsl_type *return_type) : return_type(return_type), is_defined(false) { @@ -187,6 +187,14 @@ public: */ const char *interpolation_string() const; + /** + * Calculate the number of slots required to hold this variable + * + * This is used to determine how many uniform or varying locations a variable + * occupies. The count is in units of floating point components. + */ + unsigned component_slots() const; + const char *name; /** |