66aa1ded16
Previously, `Type::applyPrecisionQualifiers` would return a new type (e.g. `mediump + float` returned `half`) but left the precision qualifier flags as-is. This was implemented that way because the modifiers were already baked into a pool, so mutating them was difficult. The rewritten DSLParser does not share this limitation--every place where applyPrecisionQualifiers is used, the Modifiers are easily mutable. As a result, `applyPrecisionQualifiers` can now clear the precision-qualifier bits on the Modifier, meaning that `half` and a `mediump float` will generate the exact same Type/Modifier combination. This change fixes a bug where precision qualifiers were not allowed on function parameters. (See `check_parameters` in FunctionDeclaration.cpp to pinpoint the cause of the error. A less-invasive fix could have just marked those modifier bits as allowed in `check_parameters`, but this fix addresses the root of the issue and is honestly how I wanted `applyPrecisionQualifiers` to work all along.) Change-Id: I331813efa54138f469a0d5bff2d274cd3ce64b70 Bug: skia:12489 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455156 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com> |
||
---|---|---|
.. | ||
blend | ||
errors | ||
folding | ||
glsl | ||
inliner | ||
intrinsics | ||
metal | ||
runtime | ||
runtime_errors | ||
shared | ||
spirv | ||
workarounds | ||
README.txt |
This directory contains skslc-compiled output from matching source files in the /resources/sksl/ directory.