3c991fd72c
Previously, SPIR-V would generate two separate SpvIds for array types if they differed in SkSL, even if they matched in SPIR-V. For instance, `half[10]` and `float[10]` are the same SPIR-V type, so they should reuse the same SpvId. (The RelaxedPrecision decoration doesn't go on the type.) This is important because OpLoad and OpStore require the same SpvId on a variable; you can't OpLoad from one type SpvId and OpStore to a different type SpvId, even if the underlying type behind the SpvId is the same. (A slightly simpler fix exists at http://review.skia.org/437237, but this triggered a memory pooling bug that I can't properly debug from this machine.) Change-Id: I7669a95a2c946dde1eeff73474a3a0fb9d180512 Bug: skia:12248 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437683 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Auto-Submit: John Stiles <johnstiles@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.