Rename entities for VK_KHR_descriptor_update_template extension.
Rename entities for VK_KHR_descriptor_update_template extension since it's promoted to Vulkan 1.1.
This commit is contained in:
parent
85c4b5c680
commit
40d341ded2
@ -261,7 +261,7 @@ class MVKCmdPushDescriptorSetWithTemplate : public MVKCommand {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
VkResult setContent(MVKCommandBuffer* cmdBuff,
|
VkResult setContent(MVKCommandBuffer* cmdBuff,
|
||||||
VkDescriptorUpdateTemplateKHR descUpdateTemplate,
|
VkDescriptorUpdateTemplate descUpdateTemplate,
|
||||||
VkPipelineLayout layout,
|
VkPipelineLayout layout,
|
||||||
uint32_t set,
|
uint32_t set,
|
||||||
const void* pData);
|
const void* pData);
|
||||||
|
@ -429,7 +429,7 @@ void MVKCmdPushDescriptorSet::clearDescriptorWrites() {
|
|||||||
#pragma mark MVKCmdPushDescriptorSetWithTemplate
|
#pragma mark MVKCmdPushDescriptorSetWithTemplate
|
||||||
|
|
||||||
VkResult MVKCmdPushDescriptorSetWithTemplate::setContent(MVKCommandBuffer* cmdBuff,
|
VkResult MVKCmdPushDescriptorSetWithTemplate::setContent(MVKCommandBuffer* cmdBuff,
|
||||||
VkDescriptorUpdateTemplateKHR descUpdateTemplate,
|
VkDescriptorUpdateTemplate descUpdateTemplate,
|
||||||
VkPipelineLayout layout,
|
VkPipelineLayout layout,
|
||||||
uint32_t set,
|
uint32_t set,
|
||||||
const void* pData) {
|
const void* pData) {
|
||||||
@ -443,7 +443,7 @@ VkResult MVKCmdPushDescriptorSetWithTemplate::setContent(MVKCommandBuffer* cmdBu
|
|||||||
|
|
||||||
if (_pData) delete[] (char*)_pData;
|
if (_pData) delete[] (char*)_pData;
|
||||||
// Work out how big the memory block in pData is.
|
// Work out how big the memory block in pData is.
|
||||||
const VkDescriptorUpdateTemplateEntryKHR* pEntry =
|
const VkDescriptorUpdateTemplateEntry* pEntry =
|
||||||
_descUpdateTemplate->getEntry(_descUpdateTemplate->getNumberOfEntries()-1);
|
_descUpdateTemplate->getEntry(_descUpdateTemplate->getNumberOfEntries()-1);
|
||||||
size_t size = pEntry->offset;
|
size_t size = pEntry->offset;
|
||||||
// If we were given a stride, use that; otherwise, assume only one info
|
// If we were given a stride, use that; otherwise, assume only one info
|
||||||
|
@ -330,16 +330,16 @@ public:
|
|||||||
VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT; }
|
VkDebugReportObjectTypeEXT getVkDebugReportObjectType() override { return VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT; }
|
||||||
|
|
||||||
/** Get the nth update template entry. */
|
/** Get the nth update template entry. */
|
||||||
const VkDescriptorUpdateTemplateEntryKHR* getEntry(uint32_t n) const;
|
const VkDescriptorUpdateTemplateEntry* getEntry(uint32_t n) const;
|
||||||
|
|
||||||
/** Get the total number of entries. */
|
/** Get the total number of entries. */
|
||||||
uint32_t getNumberOfEntries() const;
|
uint32_t getNumberOfEntries() const;
|
||||||
|
|
||||||
/** Get the type of this template. */
|
/** Get the type of this template. */
|
||||||
VkDescriptorUpdateTemplateTypeKHR getType() const;
|
VkDescriptorUpdateTemplateType getType() const;
|
||||||
|
|
||||||
/** Constructs an instance for the specified device. */
|
/** Constructs an instance for the specified device. */
|
||||||
MVKDescriptorUpdateTemplate(MVKDevice* device, const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo);
|
MVKDescriptorUpdateTemplate(MVKDevice* device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo);
|
||||||
|
|
||||||
/** Destructor. */
|
/** Destructor. */
|
||||||
~MVKDescriptorUpdateTemplate() override = default;
|
~MVKDescriptorUpdateTemplate() override = default;
|
||||||
@ -347,8 +347,8 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
void propagateDebugName() override {}
|
void propagateDebugName() override {}
|
||||||
|
|
||||||
VkDescriptorUpdateTemplateTypeKHR _type;
|
VkDescriptorUpdateTemplateType _type;
|
||||||
MVKSmallVector<VkDescriptorUpdateTemplateEntryKHR, 1> _entries;
|
MVKSmallVector<VkDescriptorUpdateTemplateEntry, 1> _entries;
|
||||||
};
|
};
|
||||||
|
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
@ -362,5 +362,5 @@ void mvkUpdateDescriptorSets(uint32_t writeCount,
|
|||||||
|
|
||||||
/** Updates the resource bindings in the given descriptor set from the specified template. */
|
/** Updates the resource bindings in the given descriptor set from the specified template. */
|
||||||
void mvkUpdateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet,
|
void mvkUpdateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet,
|
||||||
VkDescriptorUpdateTemplateKHR updateTemplate,
|
VkDescriptorUpdateTemplate updateTemplate,
|
||||||
const void* pData);
|
const void* pData);
|
||||||
|
@ -149,7 +149,7 @@ void MVKDescriptorSetLayout::pushDescriptorSet(MVKCommandEncoder* cmdEncoder,
|
|||||||
|
|
||||||
if (!cmdEncoder) { clearConfigurationResult(); }
|
if (!cmdEncoder) { clearConfigurationResult(); }
|
||||||
for (uint32_t i = 0; i < descUpdateTemplate->getNumberOfEntries(); i++) {
|
for (uint32_t i = 0; i < descUpdateTemplate->getNumberOfEntries(); i++) {
|
||||||
const VkDescriptorUpdateTemplateEntryKHR* pEntry = descUpdateTemplate->getEntry(i);
|
const VkDescriptorUpdateTemplateEntry* pEntry = descUpdateTemplate->getEntry(i);
|
||||||
uint32_t dstBinding = pEntry->dstBinding;
|
uint32_t dstBinding = pEntry->dstBinding;
|
||||||
uint32_t dstArrayElement = pEntry->dstArrayElement;
|
uint32_t dstArrayElement = pEntry->dstArrayElement;
|
||||||
uint32_t descriptorCount = pEntry->descriptorCount;
|
uint32_t descriptorCount = pEntry->descriptorCount;
|
||||||
@ -856,7 +856,7 @@ MVKDescriptorPool::~MVKDescriptorPool() {
|
|||||||
#pragma mark -
|
#pragma mark -
|
||||||
#pragma mark MVKDescriptorUpdateTemplate
|
#pragma mark MVKDescriptorUpdateTemplate
|
||||||
|
|
||||||
const VkDescriptorUpdateTemplateEntryKHR* MVKDescriptorUpdateTemplate::getEntry(uint32_t n) const {
|
const VkDescriptorUpdateTemplateEntry* MVKDescriptorUpdateTemplate::getEntry(uint32_t n) const {
|
||||||
return &_entries[n];
|
return &_entries[n];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -864,12 +864,12 @@ uint32_t MVKDescriptorUpdateTemplate::getNumberOfEntries() const {
|
|||||||
return (uint32_t)_entries.size();
|
return (uint32_t)_entries.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
VkDescriptorUpdateTemplateTypeKHR MVKDescriptorUpdateTemplate::getType() const {
|
VkDescriptorUpdateTemplateType MVKDescriptorUpdateTemplate::getType() const {
|
||||||
return _type;
|
return _type;
|
||||||
}
|
}
|
||||||
|
|
||||||
MVKDescriptorUpdateTemplate::MVKDescriptorUpdateTemplate(MVKDevice* device,
|
MVKDescriptorUpdateTemplate::MVKDescriptorUpdateTemplate(MVKDevice* device,
|
||||||
const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo) :
|
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo) :
|
||||||
MVKVulkanAPIDeviceObject(device), _type(pCreateInfo->templateType) {
|
MVKVulkanAPIDeviceObject(device), _type(pCreateInfo->templateType) {
|
||||||
|
|
||||||
for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; i++)
|
for (uint32_t i = 0; i < pCreateInfo->descriptorUpdateEntryCount; i++)
|
||||||
@ -924,7 +924,7 @@ void mvkUpdateDescriptorSets(uint32_t writeCount,
|
|||||||
// For inline block create a temp buffer of descCnt bytes to hold data during copy.
|
// For inline block create a temp buffer of descCnt bytes to hold data during copy.
|
||||||
uint8_t dstBuffer[descCnt];
|
uint8_t dstBuffer[descCnt];
|
||||||
VkWriteDescriptorSetInlineUniformBlockEXT inlineUniformBlock;
|
VkWriteDescriptorSetInlineUniformBlockEXT inlineUniformBlock;
|
||||||
inlineUniformBlock.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK;
|
inlineUniformBlock.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
|
||||||
inlineUniformBlock.pNext = nullptr;
|
inlineUniformBlock.pNext = nullptr;
|
||||||
inlineUniformBlock.pData = dstBuffer;
|
inlineUniformBlock.pData = dstBuffer;
|
||||||
inlineUniformBlock.dataSize = descCnt;
|
inlineUniformBlock.dataSize = descCnt;
|
||||||
@ -942,24 +942,24 @@ void mvkUpdateDescriptorSets(uint32_t writeCount,
|
|||||||
|
|
||||||
// Updates the resource bindings in the given descriptor set from the specified template.
|
// Updates the resource bindings in the given descriptor set from the specified template.
|
||||||
void mvkUpdateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet,
|
void mvkUpdateDescriptorSetWithTemplate(VkDescriptorSet descriptorSet,
|
||||||
VkDescriptorUpdateTemplateKHR updateTemplate,
|
VkDescriptorUpdateTemplate updateTemplate,
|
||||||
const void* pData) {
|
const void* pData) {
|
||||||
|
|
||||||
MVKDescriptorSet* dstSet = (MVKDescriptorSet*)descriptorSet;
|
MVKDescriptorSet* dstSet = (MVKDescriptorSet*)descriptorSet;
|
||||||
MVKDescriptorUpdateTemplate* pTemplate = (MVKDescriptorUpdateTemplate*)updateTemplate;
|
MVKDescriptorUpdateTemplate* pTemplate = (MVKDescriptorUpdateTemplate*)updateTemplate;
|
||||||
|
|
||||||
if (pTemplate->getType() != VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR)
|
if (pTemplate->getType() != VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Perform the updates
|
// Perform the updates
|
||||||
for (uint32_t i = 0; i < pTemplate->getNumberOfEntries(); i++) {
|
for (uint32_t i = 0; i < pTemplate->getNumberOfEntries(); i++) {
|
||||||
const VkDescriptorUpdateTemplateEntryKHR* pEntry = pTemplate->getEntry(i);
|
const VkDescriptorUpdateTemplateEntry* pEntry = pTemplate->getEntry(i);
|
||||||
const void* pCurData = (const char*)pData + pEntry->offset;
|
const void* pCurData = (const char*)pData + pEntry->offset;
|
||||||
|
|
||||||
// For inline block, wrap the raw data in in inline update struct.
|
// For inline block, wrap the raw data in in inline update struct.
|
||||||
VkWriteDescriptorSetInlineUniformBlockEXT inlineUniformBlock;
|
VkWriteDescriptorSetInlineUniformBlockEXT inlineUniformBlock;
|
||||||
if (pEntry->descriptorType == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
if (pEntry->descriptorType == VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT) {
|
||||||
inlineUniformBlock.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK;
|
inlineUniformBlock.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
|
||||||
inlineUniformBlock.pNext = nullptr;
|
inlineUniformBlock.pNext = nullptr;
|
||||||
inlineUniformBlock.pData = pCurData;
|
inlineUniformBlock.pData = pCurData;
|
||||||
inlineUniformBlock.dataSize = pEntry->descriptorCount;
|
inlineUniformBlock.dataSize = pEntry->descriptorCount;
|
||||||
|
@ -596,7 +596,7 @@ public:
|
|||||||
void destroyDescriptorPool(MVKDescriptorPool* mvkDP,
|
void destroyDescriptorPool(MVKDescriptorPool* mvkDP,
|
||||||
const VkAllocationCallbacks* pAllocator);
|
const VkAllocationCallbacks* pAllocator);
|
||||||
|
|
||||||
MVKDescriptorUpdateTemplate* createDescriptorUpdateTemplate(const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo,
|
MVKDescriptorUpdateTemplate* createDescriptorUpdateTemplate(const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
|
||||||
const VkAllocationCallbacks* pAllocator);
|
const VkAllocationCallbacks* pAllocator);
|
||||||
void destroyDescriptorUpdateTemplate(MVKDescriptorUpdateTemplate* mvkDUT,
|
void destroyDescriptorUpdateTemplate(MVKDescriptorUpdateTemplate* mvkDUT,
|
||||||
const VkAllocationCallbacks* pAllocator);
|
const VkAllocationCallbacks* pAllocator);
|
||||||
|
@ -3617,7 +3617,7 @@ void MVKDevice::destroyDescriptorPool(MVKDescriptorPool* mvkDP,
|
|||||||
}
|
}
|
||||||
|
|
||||||
MVKDescriptorUpdateTemplate* MVKDevice::createDescriptorUpdateTemplate(
|
MVKDescriptorUpdateTemplate* MVKDevice::createDescriptorUpdateTemplate(
|
||||||
const VkDescriptorUpdateTemplateCreateInfoKHR* pCreateInfo,
|
const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
|
||||||
const VkAllocationCallbacks* pAllocator) {
|
const VkAllocationCallbacks* pAllocator) {
|
||||||
return new MVKDescriptorUpdateTemplate(this, pCreateInfo);
|
return new MVKDescriptorUpdateTemplate(this, pCreateInfo);
|
||||||
}
|
}
|
||||||
|
@ -2513,7 +2513,7 @@ MVK_PUBLIC_VULKAN_SYMBOL void vkCmdPushDescriptorSetKHR(
|
|||||||
|
|
||||||
MVK_PUBLIC_VULKAN_SYMBOL void vkCmdPushDescriptorSetWithTemplateKHR(
|
MVK_PUBLIC_VULKAN_SYMBOL void vkCmdPushDescriptorSetWithTemplateKHR(
|
||||||
VkCommandBuffer commandBuffer,
|
VkCommandBuffer commandBuffer,
|
||||||
VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,
|
VkDescriptorUpdateTemplate descriptorUpdateTemplate,
|
||||||
VkPipelineLayout layout,
|
VkPipelineLayout layout,
|
||||||
uint32_t set,
|
uint32_t set,
|
||||||
const void* pData) {
|
const void* pData) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user