Previously ProgramMtl could try to bind fixed slots to samplers based on layout (set=..., binding=...). However, GLSL layout model is different from Metal slots assignment. For example, The following is valid layout in GLSL: - array samplers A[2] is bound to index 0. - array samplers B[2] is bound to index 1. It is invalid to do so in Metal, since A occupies 2 slots, thus samplers B[2] must be bound to slots starting from 2. New binding method: let spirv-cross auto assigns the texture slots and retrieve them after compilation. Incomplete textures moved to ContextMtl using IncompleteTextureSet. New test added: GLSLTest.ArrayOfStructContainingArrayOfSamplers. Bug: angleproject:2634 Change-Id: Ib0edaaf8b20512e1272c37c1d4b16a88a5b35e75 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2193193 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jonah Ryan-Davis <jonahr@google.com>
| 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... |