The sorting algorithm didn't keep the fields in order, which made them receive arbitrary locations. The SPIR-V transformer assigns the location on the whole block instead of individual members, which was incorrect in this situation. The SPIR-V transformer could have been modified to decorate each field of the I/O block with a location. This change instead sorts the fields in such a way that I/O block fields are allocated contiguously, which allows the SPIR-V transformer to function unchanged. Bug: angleproject:3580 Change-Id: I27df9e8122dd4207835bad448ffb8015692a1635 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581076Reviewed-by:Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| android_system_settings | Loading commit data... | |
| common | Loading commit data... | |
| compiler | Loading commit data... | |
| feature_support_util | Loading commit data... | |
| gpu_info_util | Loading commit data... | |
| image_util | Loading commit data... | |
| libANGLE | Loading commit data... | |
| libEGL | Loading commit data... | |
| libGL | Loading commit data... | |
| libGLESv1_CM | Loading commit data... | |
| libGLESv2 | Loading commit data... | |
| tests | Loading commit data... | |
| third_party | Loading commit data... | |
| commit_id.py | Loading commit data... | |
| compiler.gni | Loading commit data... | |
| copy_compiler_dll.bat | Loading commit data... | |
| libGLESv2.gni | Loading commit data... |