diff options
author | Marek Olšák <[email protected]> | 2013-10-20 05:15:42 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-10-29 23:50:01 +0100 |
commit | 7e414b58640aee6e243d337e72cea290c354f632 (patch) | |
tree | 6dbe1470a26f48f9ad00ec216ee80697a90958a3 /src/glsl/ast_expr.cpp | |
parent | aec20d66d9d13e0acd6a7199b63e1383e1e9900a (diff) |
glsl: break the gl_FragData array into separate gl_FragData[i] variables
This avoids a defect in lower_output_reads.
The problem is lower_output_reads treats the gl_FragData array as a single
variable. It first redirects all output writes to a temporary variable (array)
and then writes the whole temporary variable to the output, generating
assignments to all elements of gl_FragData.
BTW this pass can be modified to lower all arrays, not just inputs and outputs.
The question is whether it is worth it.
Reviewed-by: Paul Berry <[email protected]>
v2: addressed Paul Berry's comments
Diffstat (limited to 'src/glsl/ast_expr.cpp')
0 files changed, 0 insertions, 0 deletions