Commit 572fd801 by Jamie Madill Committed by Commit Bot

Vulkan: Rename Uniforms/XFB descriptor desc.

The new name is more consistent with the other names. Refactoring change only. Bug: angleproject:5736 Change-Id: Idc47fef29040e3a422267795c4536163a6f8eb4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2779953Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarTim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent e6ca472b
...@@ -1679,8 +1679,9 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersEmulation( ...@@ -1679,8 +1679,9 @@ angle::Result ContextVk::handleDirtyGraphicsTransformFeedbackBuffersEmulation(
} }
// TODO(http://anglebug.com/3570): Need to update to handle Program Pipelines // TODO(http://anglebug.com/3570): Need to update to handle Program Pipelines
vk::BufferHelper *uniformBuffer = mDefaultUniformStorage.getCurrentBuffer(); vk::BufferHelper *uniformBuffer = mDefaultUniformStorage.getCurrentBuffer();
vk::UniformsAndXfbDesc xfbBufferDesc = transformFeedbackVk->getTransformFeedbackDesc(); vk::UniformsAndXfbDescriptorDesc xfbBufferDesc =
transformFeedbackVk->getTransformFeedbackDesc();
xfbBufferDesc.updateDefaultUniformBuffer(uniformBuffer ? uniformBuffer->getBufferSerial() xfbBufferDesc.updateDefaultUniformBuffer(uniformBuffer ? uniformBuffer->getBufferSerial()
: vk::kInvalidBufferSerial); : vk::kInvalidBufferSerial);
......
...@@ -252,7 +252,7 @@ void ProgramExecutableVk::reset(ContextVk *contextVk) ...@@ -252,7 +252,7 @@ void ProgramExecutableVk::reset(ContextVk *contextVk)
RendererVk *rendererVk = contextVk->getRenderer(); RendererVk *rendererVk = contextVk->getRenderer();
mTextureDescriptorsCache.destroy(rendererVk); mTextureDescriptorsCache.destroy(rendererVk);
mUniformsAndXfbDescriptorSetCache.destroy(rendererVk); mUniformsAndXfbDescriptorsCache.destroy(rendererVk);
// Initialize with a unique BufferSerial // Initialize with a unique BufferSerial
vk::ResourceSerialFactory &factory = rendererVk->getResourceSerialFactory(); vk::ResourceSerialFactory &factory = rendererVk->getResourceSerialFactory();
...@@ -420,14 +420,14 @@ uint32_t GetInterfaceBlockArraySize(const std::vector<gl::InterfaceBlock> &block ...@@ -420,14 +420,14 @@ uint32_t GetInterfaceBlockArraySize(const std::vector<gl::InterfaceBlock> &block
angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet( angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet(
ContextVk *contextVk, ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc, const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc,
bool *newDescriptorSetAllocated) bool *newDescriptorSetAllocated)
{ {
mCurrentDefaultUniformBufferSerial = xfbBufferDesc.getDefaultUniformBufferSerial(); mCurrentDefaultUniformBufferSerial = xfbBufferDesc.getDefaultUniformBufferSerial();
// Look up in the cache first // Look up in the cache first
VkDescriptorSet descriptorSet = VK_NULL_HANDLE; VkDescriptorSet descriptorSet = VK_NULL_HANDLE;
if (mUniformsAndXfbDescriptorSetCache.get(xfbBufferDesc, &descriptorSet)) if (mUniformsAndXfbDescriptorsCache.get(xfbBufferDesc, &descriptorSet))
{ {
*newDescriptorSetAllocated = false; *newDescriptorSetAllocated = false;
mDescriptorSets[DescriptorSetIndex::UniformsAndXfb] = descriptorSet; mDescriptorSets[DescriptorSetIndex::UniformsAndXfb] = descriptorSet;
...@@ -445,12 +445,12 @@ angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet( ...@@ -445,12 +445,12 @@ angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet(
// Clear descriptor set cache. It may no longer be valid. // Clear descriptor set cache. It may no longer be valid.
if (newPoolAllocated) if (newPoolAllocated)
{ {
mUniformsAndXfbDescriptorSetCache.destroy(contextVk->getRenderer()); mUniformsAndXfbDescriptorsCache.destroy(contextVk->getRenderer());
} }
// Add the descriptor set into cache // Add the descriptor set into cache
mUniformsAndXfbDescriptorSetCache.insert(xfbBufferDesc, mUniformsAndXfbDescriptorsCache.insert(xfbBufferDesc,
mDescriptorSets[DescriptorSetIndex::UniformsAndXfb]); mDescriptorSets[DescriptorSetIndex::UniformsAndXfb]);
*newDescriptorSetAllocated = true; *newDescriptorSetAllocated = true;
return angle::Result::Continue; return angle::Result::Continue;
...@@ -1477,7 +1477,7 @@ angle::Result ProgramExecutableVk::updateTransformFeedbackDescriptorSet( ...@@ -1477,7 +1477,7 @@ angle::Result ProgramExecutableVk::updateTransformFeedbackDescriptorSet(
gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks, gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks,
vk::BufferHelper *defaultUniformBuffer, vk::BufferHelper *defaultUniformBuffer,
ContextVk *contextVk, ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc) const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc)
{ {
const gl::ProgramExecutable &executable = programState.getExecutable(); const gl::ProgramExecutable &executable = programState.getExecutable();
ASSERT(executable.hasTransformFeedbackOutput()); ASSERT(executable.hasTransformFeedbackOutput());
......
...@@ -162,7 +162,7 @@ class ProgramExecutableVk ...@@ -162,7 +162,7 @@ class ProgramExecutableVk
gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks, gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks,
vk::BufferHelper *defaultUniformBuffer, vk::BufferHelper *defaultUniformBuffer,
ContextVk *contextVk, ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc); const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc);
angle::Result updateInputAttachmentDescriptorSet(const gl::ProgramExecutable &executable, angle::Result updateInputAttachmentDescriptorSet(const gl::ProgramExecutable &executable,
const gl::ShaderType shaderType, const gl::ShaderType shaderType,
ContextVk *contextVk, ContextVk *contextVk,
...@@ -189,9 +189,10 @@ class ProgramExecutableVk ...@@ -189,9 +189,10 @@ class ProgramExecutableVk
friend class ProgramVk; friend class ProgramVk;
friend class ProgramPipelineVk; friend class ProgramPipelineVk;
angle::Result allocUniformAndXfbDescriptorSet(ContextVk *contextVk, angle::Result allocUniformAndXfbDescriptorSet(
const vk::UniformsAndXfbDesc &xfbBufferDesc, ContextVk *contextVk,
bool *newDescriptorSetAllocated); const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc,
bool *newDescriptorSetAllocated);
angle::Result allocateDescriptorSet(ContextVk *contextVk, angle::Result allocateDescriptorSet(ContextVk *contextVk,
DescriptorSetIndex descriptorSetIndex); DescriptorSetIndex descriptorSetIndex);
...@@ -250,8 +251,8 @@ class ProgramExecutableVk ...@@ -250,8 +251,8 @@ class ProgramExecutableVk
size_t mNumDefaultUniformDescriptors; size_t mNumDefaultUniformDescriptors;
vk::BufferSerial mCurrentDefaultUniformBufferSerial; vk::BufferSerial mCurrentDefaultUniformBufferSerial;
DescriptorSetCache<vk::UniformsAndXfbDesc, VulkanCacheType::UniformsAndXfbDescriptorSet> DescriptorSetCache<vk::UniformsAndXfbDescriptorDesc, VulkanCacheType::UniformsAndXfbDescriptors>
mUniformsAndXfbDescriptorSetCache; mUniformsAndXfbDescriptorsCache;
DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors> DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors>
mTextureDescriptorsCache; mTextureDescriptorsCache;
......
...@@ -186,8 +186,8 @@ angle::Result ProgramPipelineVk::updateUniforms(ContextVk *contextVk) ...@@ -186,8 +186,8 @@ angle::Result ProgramPipelineVk::updateUniforms(ContextVk *contextVk)
{ {
// We need to reinitialize the descriptor sets if we newly allocated buffers since we can't // We need to reinitialize the descriptor sets if we newly allocated buffers since we can't
// modify the descriptor sets once initialized. // modify the descriptor sets once initialized.
vk::UniformsAndXfbDesc defaultUniformsDesc; vk::UniformsAndXfbDescriptorDesc defaultUniformsDesc;
vk::UniformsAndXfbDesc *uniformsAndXfbBufferDesc; vk::UniformsAndXfbDescriptorDesc *uniformsAndXfbBufferDesc;
if (glExecutable.hasTransformFeedbackOutput()) if (glExecutable.hasTransformFeedbackOutput())
{ {
......
...@@ -773,8 +773,8 @@ angle::Result ProgramVk::updateUniforms(ContextVk *contextVk) ...@@ -773,8 +773,8 @@ angle::Result ProgramVk::updateUniforms(ContextVk *contextVk)
{ {
// We need to reinitialize the descriptor sets if we newly allocated buffers since we can't // We need to reinitialize the descriptor sets if we newly allocated buffers since we can't
// modify the descriptor sets once initialized. // modify the descriptor sets once initialized.
vk::UniformsAndXfbDesc defaultUniformsDesc; vk::UniformsAndXfbDescriptorDesc defaultUniformsDesc;
vk::UniformsAndXfbDesc *uniformsAndXfbBufferDesc; vk::UniformsAndXfbDescriptorDesc *uniformsAndXfbBufferDesc;
if (glExecutable.hasTransformFeedbackOutput()) if (glExecutable.hasTransformFeedbackOutput())
{ {
......
...@@ -97,7 +97,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl ...@@ -97,7 +97,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl
return mCounterBufferHandles; return mCounterBufferHandles;
} }
vk::UniformsAndXfbDesc &getTransformFeedbackDesc() { return mXFBBuffersDesc; } vk::UniformsAndXfbDescriptorDesc &getTransformFeedbackDesc() { return mXFBBuffersDesc; }
private: private:
void writeDescriptorSet(ContextVk *contextVk, void writeDescriptorSet(ContextVk *contextVk,
...@@ -129,7 +129,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl ...@@ -129,7 +129,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl
gl::TransformFeedbackBuffersArray<VkBuffer> mCounterBufferHandles; gl::TransformFeedbackBuffersArray<VkBuffer> mCounterBufferHandles;
// Keys to look up in the descriptor set cache // Keys to look up in the descriptor set cache
vk::UniformsAndXfbDesc mXFBBuffersDesc; vk::UniformsAndXfbDescriptorDesc mXFBBuffersDesc;
}; };
} // namespace rx } // namespace rx
......
...@@ -2962,28 +2962,30 @@ bool TextureDescriptorDesc::operator==(const TextureDescriptorDesc &other) const ...@@ -2962,28 +2962,30 @@ bool TextureDescriptorDesc::operator==(const TextureDescriptorDesc &other) const
return memcmp(mSerials.data(), other.mSerials.data(), sizeof(TexUnitSerials) * mMaxIndex) == 0; return memcmp(mSerials.data(), other.mSerials.data(), sizeof(TexUnitSerials) * mMaxIndex) == 0;
} }
// UniformsAndXfbDesc implementation. // UniformsAndXfbDescriptorDesc implementation.
UniformsAndXfbDesc::UniformsAndXfbDesc() UniformsAndXfbDescriptorDesc::UniformsAndXfbDescriptorDesc()
{ {
reset(); reset();
} }
UniformsAndXfbDesc::~UniformsAndXfbDesc() = default; UniformsAndXfbDescriptorDesc::~UniformsAndXfbDescriptorDesc() = default;
UniformsAndXfbDesc::UniformsAndXfbDesc(const UniformsAndXfbDesc &other) = default; UniformsAndXfbDescriptorDesc::UniformsAndXfbDescriptorDesc(
UniformsAndXfbDesc &UniformsAndXfbDesc::operator=(const UniformsAndXfbDesc &other) = default; const UniformsAndXfbDescriptorDesc &other) = default;
UniformsAndXfbDescriptorDesc &UniformsAndXfbDescriptorDesc::operator=(
const UniformsAndXfbDescriptorDesc &other) = default;
size_t UniformsAndXfbDesc::hash() const size_t UniformsAndXfbDescriptorDesc::hash() const
{ {
return angle::ComputeGenericHash(&mBufferSerials, sizeof(BufferSerial) * mBufferCount); return angle::ComputeGenericHash(&mBufferSerials, sizeof(BufferSerial) * mBufferCount);
} }
void UniformsAndXfbDesc::reset() void UniformsAndXfbDescriptorDesc::reset()
{ {
mBufferCount = 0; mBufferCount = 0;
memset(&mBufferSerials, 0, sizeof(BufferSerial) * kMaxBufferCount); memset(&mBufferSerials, 0, sizeof(BufferSerial) * kMaxBufferCount);
} }
bool UniformsAndXfbDesc::operator==(const UniformsAndXfbDesc &other) const bool UniformsAndXfbDescriptorDesc::operator==(const UniformsAndXfbDescriptorDesc &other) const
{ {
if (mBufferCount != other.mBufferCount) if (mBufferCount != other.mBufferCount)
{ {
...@@ -3826,6 +3828,6 @@ void DescriptorSetCache<key, cacheType>::destroy(RendererVk *rendererVk) ...@@ -3826,6 +3828,6 @@ void DescriptorSetCache<key, cacheType>::destroy(RendererVk *rendererVk)
// Below declarations are needed to avoid linker errors. // Below declarations are needed to avoid linker errors.
template class DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors>; template class DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors>;
template class DescriptorSetCache<vk::UniformsAndXfbDesc, template class DescriptorSetCache<vk::UniformsAndXfbDescriptorDesc,
VulkanCacheType::UniformsAndXfbDescriptorSet>; VulkanCacheType::UniformsAndXfbDescriptors>;
} // namespace rx } // namespace rx
...@@ -1101,14 +1101,14 @@ class TextureDescriptorDesc ...@@ -1101,14 +1101,14 @@ class TextureDescriptorDesc
ANGLE_DISABLE_STRUCT_PADDING_WARNINGS ANGLE_DISABLE_STRUCT_PADDING_WARNINGS
}; };
class UniformsAndXfbDesc class UniformsAndXfbDescriptorDesc
{ {
public: public:
UniformsAndXfbDesc(); UniformsAndXfbDescriptorDesc();
~UniformsAndXfbDesc(); ~UniformsAndXfbDescriptorDesc();
UniformsAndXfbDesc(const UniformsAndXfbDesc &other); UniformsAndXfbDescriptorDesc(const UniformsAndXfbDescriptorDesc &other);
UniformsAndXfbDesc &operator=(const UniformsAndXfbDesc &other); UniformsAndXfbDescriptorDesc &operator=(const UniformsAndXfbDescriptorDesc &other);
BufferSerial getDefaultUniformBufferSerial() const BufferSerial getDefaultUniformBufferSerial() const
{ {
...@@ -1128,7 +1128,7 @@ class UniformsAndXfbDesc ...@@ -1128,7 +1128,7 @@ class UniformsAndXfbDesc
size_t hash() const; size_t hash() const;
void reset(); void reset();
bool operator==(const UniformsAndXfbDesc &other) const; bool operator==(const UniformsAndXfbDescriptorDesc &other) const;
private: private:
uint32_t mBufferCount; uint32_t mBufferCount;
...@@ -1312,9 +1312,9 @@ struct hash<rx::vk::TextureDescriptorDesc> ...@@ -1312,9 +1312,9 @@ struct hash<rx::vk::TextureDescriptorDesc>
}; };
template <> template <>
struct hash<rx::vk::UniformsAndXfbDesc> struct hash<rx::vk::UniformsAndXfbDescriptorDesc>
{ {
size_t operator()(const rx::vk::UniformsAndXfbDesc &key) const { return key.hash(); } size_t operator()(const rx::vk::UniformsAndXfbDescriptorDesc &key) const { return key.hash(); }
}; };
template <> template <>
...@@ -1355,7 +1355,7 @@ enum class VulkanCacheType ...@@ -1355,7 +1355,7 @@ enum class VulkanCacheType
DescriptorSet, DescriptorSet,
DescriptorSetLayout, DescriptorSetLayout,
TextureDescriptors, TextureDescriptors,
UniformsAndXfbDescriptorSet, UniformsAndXfbDescriptors,
Framebuffer, Framebuffer,
EnumCount EnumCount
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment