summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineVulkan
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-05-13 06:23:56 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-05-13 06:23:56 +0000
commit8abd052c11b3121f6c8a1830b3cfeb388e01ba57 (patch)
treeac7a3326bd330e964fcf133c144e4b7d0e83f285 /Graphics/GraphicsEngineVulkan
parentImplemented VK shader resource cache initialization (diff)
downloadDiligentCore-8abd052c11b3121f6c8a1830b3cfeb388e01ba57.tar.gz
DiligentCore-8abd052c11b3121f6c8a1830b3cfeb388e01ba57.zip
Added texel uniform/storage buffer detection
Diffstat (limited to 'Graphics/GraphicsEngineVulkan')
-rw-r--r--Graphics/GraphicsEngineVulkan/src/ShaderResourceLayoutVk.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/Graphics/GraphicsEngineVulkan/src/ShaderResourceLayoutVk.cpp b/Graphics/GraphicsEngineVulkan/src/ShaderResourceLayoutVk.cpp
index bb7431a5..ff79ab41 100644
--- a/Graphics/GraphicsEngineVulkan/src/ShaderResourceLayoutVk.cpp
+++ b/Graphics/GraphicsEngineVulkan/src/ShaderResourceLayoutVk.cpp
@@ -399,8 +399,8 @@ void ShaderResourceLayoutVk::VkResource::CacheTexelBuffer(IDeviceObject*
VkDescriptorSet vkDescrSet,
Uint32 ArrayInd)
{
- VERIFY(SpirvAttribs.Type == SPIRVShaderResourceAttribs::ResourceType::UniformBuffer ||
- SpirvAttribs.Type == SPIRVShaderResourceAttribs::ResourceType::StorageBuffer,
+ VERIFY(SpirvAttribs.Type == SPIRVShaderResourceAttribs::ResourceType::UniformTexelBuffer ||
+ SpirvAttribs.Type == SPIRVShaderResourceAttribs::ResourceType::StorageTexelBuffer,
"Uniform or storage buffer resource is expected");
if (UpdateCachedResource(DstRes, ArrayInd, pBufferView, IID_BufferViewVk, "buffer view"))
@@ -534,7 +534,12 @@ void ShaderResourceLayoutVk::VkResource::BindResource(IDeviceObject *pObj, Uint3
case SPIRVShaderResourceAttribs::ResourceType::StorageBuffer:
CacheBuffer(pObj, DstRes, vkDescrSet, ArrayIndex);
break;
-
+
+ case SPIRVShaderResourceAttribs::ResourceType::UniformTexelBuffer:
+ case SPIRVShaderResourceAttribs::ResourceType::StorageTexelBuffer:
+ CacheTexelBuffer(pObj, DstRes, vkDescrSet, ArrayIndex);
+ break;
+
case SPIRVShaderResourceAttribs::ResourceType::StorageImage:
case SPIRVShaderResourceAttribs::ResourceType::SeparateImage:
case SPIRVShaderResourceAttribs::ResourceType::SampledImage: