commit | 838e746fc9b54acc284d8c0812a57cb6469cc245 | [log] [tgz] |
---|---|---|
author | Jason Ekstrand <jason@jlekstrand.net> | Thu Oct 19 18:04:14 2017 |
committer | Chad Versace <chadversary@chromium.org> | Thu Nov 30 23:39:51 2017 |
tree | 9aeab5436c3995e0349f36902fc9f43691f4f517 | |
parent | d1d6bf7605c6f3a727b8a87e6d318f636b46d524 [diff] |
FROMLIST: anv: Add support for the variablePointers feature Not to be confused with variablePointersStorageBuffer which is the subset of VK_KHR_variable_pointers required to enable the extension. This means we now have "full" support for variable pointers. Archived-At: https://lists.freedesktop.org/archives/mesa-dev/2017-October/173537.html (am from https://patchwork.freedesktop.org/patch/183830/) Needed for SPIR-V VariablePointers capability. Testing: Tests for this feature were released in Vulkan CTS 1.0.2.4 on 2017-07-11, and were later merged into the oreo branches of deqp. But in that release some testcases were buggy, causing some drivers to crash. In particular, the bugs crashed Anvil. All but one of the required fixes have landed in vk-gl-cts master@e52de55c. The last fix is still under review in Khronos's internal Gerrit as https://gerrit.khronos.org/#/c/1864/. I've pushed a public vk-gl-cts branch[1] containing the remaining fix, and tagged[2] the vk-gl-cts commit I tested against. Likewise for Mesa, I tagged[3] the commit I tested, based on branch cros/arc-17.3. Android is hard. Running the Oreo CTS on Nougat is even harder. I confirmed that some testcases for this feature passed when running the Oreo CTS on ARC++ Nougat, though the CTS eventually crashed due to the reasons explained above. I verified everything on Fedora instead. All 949 of the following tests passed: dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.* dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.* [1]: http://git.kiwitree.net/cgit/~chadv/vk-gl-cts/log/?h=fixes/spirv-variable-pointers [2]: http://git.kiwitree.net/cgit/~chadv/vk-gl-cts/log/?h=chadv/test/spirv-variable-pointers-2017-11-29 [3]: http://git.kiwitree.net/cgit/~chadv/mesa/log/?h=chadv/test/arc-17.3-anv-variable-pointers-2017-11-29 BUG=b:68708929 TEST=No regressions on Eve in `cts-tradefed run cts -m CtsDeqpTestCases`. Change-Id: I93f94a0d5f976575826397d60b42d3b11a919269 Reviewed-on: https://chromium-review.googlesource.com/799681 Tested-by: Chad Versace <chadversary@chromium.org> Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org> Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>