Parsing should accept all values between 0 and 0xFFFFFFFF as specified in ESSL 3.00 section 4.1.3. When a signed literal is parsed, it's interpreted as if it specifies the bit pattern of a two's complement integer. For example, parsing "0xFFFFFFFF" results in -1. Decimal literals behave the same way, so for example parsing "3000000000" results in -1294967296. This change affects parsing of literals in ESSL 1.00 as well. In ESSL 3.00, an out-of-range integer literal now generates a compiler error. Unit tests are added based on examples in the ESSL 3.00 spec and one example in GLSL 4.5 spec that ESSL should match. BUG=541550 TEST=angle_unittests Change-Id: I82f8ef5cfa2881019a3f80d77ff99707d61c000d Reviewed-on: https://chromium-review.googlesource.com/305420Reviewed-by:Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Corentin Wallez <cwallez@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| API_test.cpp | Loading commit data... | |
| BuiltInFunctionEmulator_test.cpp | Loading commit data... | |
| CollectVariables_test.cpp | Loading commit data... | |
| ConstantFolding_test.cpp | Loading commit data... | |
| DebugShaderPrecision_test.cpp | Loading commit data... | |
| EXT_blend_func_extended_test.cpp | Loading commit data... | |
| ExpressionLimit_test.cpp | Loading commit data... | |
| FragDepth_test.cpp | Loading commit data... | |
| IntermNode_test.cpp | Loading commit data... | |
| MalformedShader_test.cpp | Loading commit data... | |
| NV_draw_buffers_test.cpp | Loading commit data... | |
| Pack_Unpack_test.cpp | Loading commit data... | |
| PruneUnusedFunctions_test.cpp | Loading commit data... | |
| RecordConstantPrecision_test.cpp | Loading commit data... | |
| RemovePow_test.cpp | Loading commit data... | |
| ShCompile_test.cpp | Loading commit data... | |
| ShaderExtension_test.cpp | Loading commit data... | |
| ShaderVariable_test.cpp | Loading commit data... | |
| TypeTracking_test.cpp | Loading commit data... | |
| UnrollFlatten_test.cpp | Loading commit data... | |
| VariablePacker_test.cpp | Loading commit data... |