diff options
author | Christian König <[email protected]> | 2013-03-24 16:24:52 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2013-03-26 10:22:27 +0100 |
commit | 0f001fbff1d8c982a4c606d9fbe93619d64a5acc (patch) | |
tree | 890c47c1eadf6fa90f458b9706666773627ff5ec /src/mesa/state_tracker | |
parent | 462de2e65ff084f5f0b8baa75445ced60ddc517a (diff) |
glsl_to_tgsi: avoid creating arrays if driver doesn't support them
Avoid creating arrays if we replace indirect addressing anyway.
Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 08855647c87..e728f797a15 100644 --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -1009,7 +1009,9 @@ glsl_to_tgsi_visitor::get_temp(const glsl_type *type) src.reladdr = NULL; src.negate = 0; - if (type->is_array() || type->is_matrix()) { + if (!options->EmitNoIndirectTemp && + (type->is_array() || type->is_matrix())) { + src.file = PROGRAM_ARRAY; src.index = next_array << 16 | 0x8000; array_sizes[next_array] = type_size(type); |