summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAndres Gomez <[email protected]>2016-07-30 17:57:54 +0300
committerAndres Gomez <[email protected]>2016-08-05 14:27:03 +0300
commit1443c10d74b04ea9b377a304c4b577b85929d776 (patch)
tree53ce946c5d2c67481502dc65a42290a53a3dcf05 /docs
parentde60d549b9acd5f2f9337aec8c283150bc950c99 (diff)
glsl: struct constructors/initializers only allow implicit conversions
When an argument for a structure constructor or initializer doesn't match the expected type, only Section 4.1.10 “Implicit Conversions” are allowed to try to match that expected type. From page 32 (page 38 of the PDF) of the GLSL 1.20 spec: " The arguments to the constructor will be used to set the structure's fields, in order, using one argument per field. Each argument must be the same type as the field it sets, or be a type that can be converted to the field's type according to Section 4.1.10 “Implicit Conversions.”" From page 35 (page 41 of the PDF) of the GLSL 4.20 spec: " In all cases, the innermost initializer (i.e., not a list of initializers enclosed in curly braces) applied to an object must have the same type as the object being initialized or be a type that can be converted to the object's type according to section 4.1.10 "Implicit Conversions". In the latter case, an implicit conversion will be done on the initializer before the assignment is done." v2: Remove also the now redundant constant conversion, the constant_record_constructor helper and the replacement code (Timothy). Fixes GL44-CTS.shading_language_420pack.initializer_list_negative Reviewed-by: Timothy Arceri <[email protected]> Signed-off-by: Andres Gomez <[email protected]>
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions