OSDN Git Service

SpirvShader: Implement descriptor set arrays
authorBen Clayton <bclayton@google.com>
Fri, 5 Apr 2019 11:12:30 +0000 (12:12 +0100)
committerBen Clayton <bclayton@google.com>
Fri, 5 Apr 2019 18:09:02 +0000 (18:09 +0000)
commit6b511347b8f86c24be8376dc57596e3456cc8661
tree64a1c06e3332844d66a5a53940be55363c24e637
parent484e08e0fae627f107df3458242e158741a42e96
SpirvShader: Implement descriptor set arrays

Introduce a new Object::Kind - DescriptorSet.
This represents a pointer to a vk::DescriptorSet*, which is now
dereferenced to access the buffer data in OpAccessChain or OpLoad / OpStore.
This shuffling is required to handle descriptor array access
as the array index is only known at OpAccessChain time.

Tests: *dynamic*
Bug: b/126330097
Change-Id: Id754d966d8945f4e4fcf7895ed2210ce4f6ba713
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28391
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/Pipeline/SpirvShader.cpp
src/Pipeline/SpirvShader.hpp