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(
}
// TODO(http://anglebug.com/3570): Need to update to handle Program Pipelines
vk::BufferHelper *uniformBuffer = mDefaultUniformStorage.getCurrentBuffer();
vk::UniformsAndXfbDesc xfbBufferDesc = transformFeedbackVk->getTransformFeedbackDesc();
vk::BufferHelper *uniformBuffer = mDefaultUniformStorage.getCurrentBuffer();
vk::UniformsAndXfbDescriptorDesc xfbBufferDesc =
transformFeedbackVk->getTransformFeedbackDesc();
xfbBufferDesc.updateDefaultUniformBuffer(uniformBuffer ? uniformBuffer->getBufferSerial()
: vk::kInvalidBufferSerial);
......
......@@ -252,7 +252,7 @@ void ProgramExecutableVk::reset(ContextVk *contextVk)
RendererVk *rendererVk = contextVk->getRenderer();
mTextureDescriptorsCache.destroy(rendererVk);
mUniformsAndXfbDescriptorSetCache.destroy(rendererVk);
mUniformsAndXfbDescriptorsCache.destroy(rendererVk);
// Initialize with a unique BufferSerial
vk::ResourceSerialFactory &factory = rendererVk->getResourceSerialFactory();
......@@ -420,14 +420,14 @@ uint32_t GetInterfaceBlockArraySize(const std::vector<gl::InterfaceBlock> &block
angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet(
ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc,
const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc,
bool *newDescriptorSetAllocated)
{
mCurrentDefaultUniformBufferSerial = xfbBufferDesc.getDefaultUniformBufferSerial();
// Look up in the cache first
VkDescriptorSet descriptorSet = VK_NULL_HANDLE;
if (mUniformsAndXfbDescriptorSetCache.get(xfbBufferDesc, &descriptorSet))
if (mUniformsAndXfbDescriptorsCache.get(xfbBufferDesc, &descriptorSet))
{
*newDescriptorSetAllocated = false;
mDescriptorSets[DescriptorSetIndex::UniformsAndXfb] = descriptorSet;
......@@ -445,12 +445,12 @@ angle::Result ProgramExecutableVk::allocUniformAndXfbDescriptorSet(
// Clear descriptor set cache. It may no longer be valid.
if (newPoolAllocated)
{
mUniformsAndXfbDescriptorSetCache.destroy(contextVk->getRenderer());
mUniformsAndXfbDescriptorsCache.destroy(contextVk->getRenderer());
}
// Add the descriptor set into cache
mUniformsAndXfbDescriptorSetCache.insert(xfbBufferDesc,
mDescriptorSets[DescriptorSetIndex::UniformsAndXfb]);
mUniformsAndXfbDescriptorsCache.insert(xfbBufferDesc,
mDescriptorSets[DescriptorSetIndex::UniformsAndXfb]);
*newDescriptorSetAllocated = true;
return angle::Result::Continue;
......@@ -1477,7 +1477,7 @@ angle::Result ProgramExecutableVk::updateTransformFeedbackDescriptorSet(
gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks,
vk::BufferHelper *defaultUniformBuffer,
ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc)
const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc)
{
const gl::ProgramExecutable &executable = programState.getExecutable();
ASSERT(executable.hasTransformFeedbackOutput());
......
......@@ -162,7 +162,7 @@ class ProgramExecutableVk
gl::ShaderMap<DefaultUniformBlock> &defaultUniformBlocks,
vk::BufferHelper *defaultUniformBuffer,
ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc);
const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc);
angle::Result updateInputAttachmentDescriptorSet(const gl::ProgramExecutable &executable,
const gl::ShaderType shaderType,
ContextVk *contextVk,
......@@ -189,9 +189,10 @@ class ProgramExecutableVk
friend class ProgramVk;
friend class ProgramPipelineVk;
angle::Result allocUniformAndXfbDescriptorSet(ContextVk *contextVk,
const vk::UniformsAndXfbDesc &xfbBufferDesc,
bool *newDescriptorSetAllocated);
angle::Result allocUniformAndXfbDescriptorSet(
ContextVk *contextVk,
const vk::UniformsAndXfbDescriptorDesc &xfbBufferDesc,
bool *newDescriptorSetAllocated);
angle::Result allocateDescriptorSet(ContextVk *contextVk,
DescriptorSetIndex descriptorSetIndex);
......@@ -250,8 +251,8 @@ class ProgramExecutableVk
size_t mNumDefaultUniformDescriptors;
vk::BufferSerial mCurrentDefaultUniformBufferSerial;
DescriptorSetCache<vk::UniformsAndXfbDesc, VulkanCacheType::UniformsAndXfbDescriptorSet>
mUniformsAndXfbDescriptorSetCache;
DescriptorSetCache<vk::UniformsAndXfbDescriptorDesc, VulkanCacheType::UniformsAndXfbDescriptors>
mUniformsAndXfbDescriptorsCache;
DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors>
mTextureDescriptorsCache;
......
......@@ -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
// modify the descriptor sets once initialized.
vk::UniformsAndXfbDesc defaultUniformsDesc;
vk::UniformsAndXfbDesc *uniformsAndXfbBufferDesc;
vk::UniformsAndXfbDescriptorDesc defaultUniformsDesc;
vk::UniformsAndXfbDescriptorDesc *uniformsAndXfbBufferDesc;
if (glExecutable.hasTransformFeedbackOutput())
{
......
......@@ -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
// modify the descriptor sets once initialized.
vk::UniformsAndXfbDesc defaultUniformsDesc;
vk::UniformsAndXfbDesc *uniformsAndXfbBufferDesc;
vk::UniformsAndXfbDescriptorDesc defaultUniformsDesc;
vk::UniformsAndXfbDescriptorDesc *uniformsAndXfbBufferDesc;
if (glExecutable.hasTransformFeedbackOutput())
{
......
......@@ -97,7 +97,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl
return mCounterBufferHandles;
}
vk::UniformsAndXfbDesc &getTransformFeedbackDesc() { return mXFBBuffersDesc; }
vk::UniformsAndXfbDescriptorDesc &getTransformFeedbackDesc() { return mXFBBuffersDesc; }
private:
void writeDescriptorSet(ContextVk *contextVk,
......@@ -129,7 +129,7 @@ class TransformFeedbackVk : public TransformFeedbackImpl
gl::TransformFeedbackBuffersArray<VkBuffer> mCounterBufferHandles;
// Keys to look up in the descriptor set cache
vk::UniformsAndXfbDesc mXFBBuffersDesc;
vk::UniformsAndXfbDescriptorDesc mXFBBuffersDesc;
};
} // namespace rx
......
......@@ -2962,28 +2962,30 @@ bool TextureDescriptorDesc::operator==(const TextureDescriptorDesc &other) const
return memcmp(mSerials.data(), other.mSerials.data(), sizeof(TexUnitSerials) * mMaxIndex) == 0;
}
// UniformsAndXfbDesc implementation.
UniformsAndXfbDesc::UniformsAndXfbDesc()
// UniformsAndXfbDescriptorDesc implementation.
UniformsAndXfbDescriptorDesc::UniformsAndXfbDescriptorDesc()
{
reset();
}
UniformsAndXfbDesc::~UniformsAndXfbDesc() = default;
UniformsAndXfbDesc::UniformsAndXfbDesc(const UniformsAndXfbDesc &other) = default;
UniformsAndXfbDesc &UniformsAndXfbDesc::operator=(const UniformsAndXfbDesc &other) = default;
UniformsAndXfbDescriptorDesc::~UniformsAndXfbDescriptorDesc() = default;
UniformsAndXfbDescriptorDesc::UniformsAndXfbDescriptorDesc(
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);
}
void UniformsAndXfbDesc::reset()
void UniformsAndXfbDescriptorDesc::reset()
{
mBufferCount = 0;
memset(&mBufferSerials, 0, sizeof(BufferSerial) * kMaxBufferCount);
}
bool UniformsAndXfbDesc::operator==(const UniformsAndXfbDesc &other) const
bool UniformsAndXfbDescriptorDesc::operator==(const UniformsAndXfbDescriptorDesc &other) const
{
if (mBufferCount != other.mBufferCount)
{
......@@ -3826,6 +3828,6 @@ void DescriptorSetCache<key, cacheType>::destroy(RendererVk *rendererVk)
// Below declarations are needed to avoid linker errors.
template class DescriptorSetCache<vk::TextureDescriptorDesc, VulkanCacheType::TextureDescriptors>;
template class DescriptorSetCache<vk::UniformsAndXfbDesc,
VulkanCacheType::UniformsAndXfbDescriptorSet>;
template class DescriptorSetCache<vk::UniformsAndXfbDescriptorDesc,
VulkanCacheType::UniformsAndXfbDescriptors>;
} // namespace rx
......@@ -1101,14 +1101,14 @@ class TextureDescriptorDesc
ANGLE_DISABLE_STRUCT_PADDING_WARNINGS
};
class UniformsAndXfbDesc
class UniformsAndXfbDescriptorDesc
{
public:
UniformsAndXfbDesc();
~UniformsAndXfbDesc();
UniformsAndXfbDescriptorDesc();
~UniformsAndXfbDescriptorDesc();
UniformsAndXfbDesc(const UniformsAndXfbDesc &other);
UniformsAndXfbDesc &operator=(const UniformsAndXfbDesc &other);
UniformsAndXfbDescriptorDesc(const UniformsAndXfbDescriptorDesc &other);
UniformsAndXfbDescriptorDesc &operator=(const UniformsAndXfbDescriptorDesc &other);
BufferSerial getDefaultUniformBufferSerial() const
{
......@@ -1128,7 +1128,7 @@ class UniformsAndXfbDesc
size_t hash() const;
void reset();
bool operator==(const UniformsAndXfbDesc &other) const;
bool operator==(const UniformsAndXfbDescriptorDesc &other) const;
private:
uint32_t mBufferCount;
......@@ -1312,9 +1312,9 @@ struct hash<rx::vk::TextureDescriptorDesc>
};
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 <>
......@@ -1355,7 +1355,7 @@ enum class VulkanCacheType
DescriptorSet,
DescriptorSetLayout,
TextureDescriptors,
UniformsAndXfbDescriptorSet,
UniformsAndXfbDescriptors,
Framebuffer,
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