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 |
|---|---|---|
| .. | ||
| compiler_tests | Loading commit data... | |
| deqp_support | Loading commit data... | |
| egl_tests | Loading commit data... | |
| gl_tests | Loading commit data... | |
| gles1_conformance_tests | Loading commit data... | |
| gles_conformance_tests | Loading commit data... | |
| perf_tests | Loading commit data... | |
| preprocessor_tests | Loading commit data... | |
| test_expectations | Loading commit data... | |
| test_utils | Loading commit data... | |
| util_tests | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| OWNERS | Loading commit data... | |
| angle_deqp_tests_main.cpp | Loading commit data... | |
| angle_end2end_tests.gni | Loading commit data... | |
| angle_end2end_tests_main.cpp | Loading commit data... | |
| angle_perftests.gni | Loading commit data... | |
| angle_perftests_main.cpp | Loading commit data... | |
| angle_unittest_main.cpp | Loading commit data... | |
| angle_unittests.gni | Loading commit data... | |
| angle_unittests_utils.h | Loading commit data... | |
| angle_white_box_tests.gni | Loading commit data... | |
| angle_white_box_tests_main.cpp | Loading commit data... |