mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-23 15:06:32 +00:00
Fix some misc bugs
This commit is contained in:
@@ -2275,6 +2275,20 @@ string ToStrHelper<false, VkRect2D>::Get(const VkRect2D &el)
|
||||
return StringFormat::Fmt("VkRect2D<%dx%d+%d+%d>", el.extent.width, el.extent.height, el.offset.x, el.offset.y);
|
||||
}
|
||||
|
||||
template<>
|
||||
string ToStrHelper<false, VkClearRect>::Get(const VkClearRect &el)
|
||||
{
|
||||
return StringFormat::Fmt("VkClearRect<%dx%d+%d+%d %u->%u>",
|
||||
el.rect.extent.width, el.rect.extent.height, el.rect.offset.x, el.rect.offset.y,
|
||||
el.baseArrayLayer, el.baseArrayLayer+el.layerCount);
|
||||
}
|
||||
|
||||
template<>
|
||||
string ToStrHelper<false, VkClearAttachment>::Get(const VkClearAttachment &el)
|
||||
{
|
||||
return StringFormat::Fmt("%s[%u] = %s", ToStr::Get((VkImageAspectFlagBits)el.aspectMask).c_str(), el.colorAttachment, ToStr::Get(el.clearValue).c_str());
|
||||
}
|
||||
|
||||
template<>
|
||||
string ToStrHelper<false, VkExtent2D>::Get(const VkExtent2D &el)
|
||||
{
|
||||
@@ -2890,6 +2904,15 @@ void Serialiser::Serialise(const char *name, VkSparseImageMemoryBind &el)
|
||||
Serialise("flags", (VkSparseMemoryBindFlagBits &)el.flags);
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkSparseImageMemoryBindInfo &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "VkSparseImageMemoryBindInfo", 0, true);
|
||||
|
||||
SerialiseObject(VkImage, "image", el.image);
|
||||
SerialiseComplexArray("pBinds", (VkSparseImageMemoryBind *&)el.pBinds, el.bindCount);
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkBindSparseInfo &el)
|
||||
{
|
||||
@@ -3837,6 +3860,39 @@ void Serialiser::Deserialise(const VkDescriptorPoolCreateInfo* const el) const
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkDescriptorSetAllocateInfo &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "VkDescriptorSetAllocateInfo", 0, true);
|
||||
|
||||
RDCASSERT(m_Mode < WRITING || el.sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO);
|
||||
SerialiseNext(this, el.sType, el.pNext);
|
||||
|
||||
SerialiseObject(VkDescriptorPool, "descriptorPool", el.descriptorPool);
|
||||
|
||||
// need to do this one by hand since it's just an array of objects that don't themselves have
|
||||
// a Serialise overload
|
||||
Serialise("setLayoutCount", el.setLayoutCount);
|
||||
|
||||
if(m_Mode == READING)
|
||||
el.pSetLayouts = el.setLayoutCount ? new VkDescriptorSetLayout[el.setLayoutCount] : NULL;
|
||||
|
||||
// cast away const on array so we can assign to it on reading
|
||||
VkDescriptorSetLayout* layouts = (VkDescriptorSetLayout*)el.pSetLayouts;
|
||||
for(uint32_t i=0; i < el.setLayoutCount; i++)
|
||||
SerialiseObject(VkDescriptorSetLayout, "pSetLayouts", layouts[i]);
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Deserialise(const VkDescriptorSetAllocateInfo* const el) const
|
||||
{
|
||||
if(m_Mode == READING)
|
||||
{
|
||||
RDCASSERT(el->pNext == NULL); // otherwise delete
|
||||
delete [] el->pSetLayouts;
|
||||
}
|
||||
}
|
||||
|
||||
template<>
|
||||
void Serialiser::Serialise(const char *name, VkDescriptorImageInfo &el)
|
||||
{
|
||||
@@ -4114,3 +4170,18 @@ void Serialiser::Serialise(const char *name, VkSwapchainCreateInfoKHR &el)
|
||||
|
||||
// don't need the old swap chain
|
||||
}
|
||||
|
||||
// this isn't a real vulkan type, it's our own "anything that could be in a descriptor"
|
||||
// structure that
|
||||
template<> void Serialiser::Serialise(const char *name, DescriptorSetSlot &el)
|
||||
{
|
||||
SerialiseObject(VkBuffer, "bufferInfo.buffer", el.bufferInfo.buffer);
|
||||
Serialise("bufferInfo.offset", el.bufferInfo.offset);
|
||||
Serialise("bufferInfo.range", el.bufferInfo.range);
|
||||
|
||||
SerialiseObject(VkSampler, "imageInfo.sampler", el.imageInfo.sampler);
|
||||
SerialiseObject(VkImageView, "imageInfo.imageView", el.imageInfo.imageView);
|
||||
Serialise("imageInfo.imageLayout", el.imageInfo.imageLayout);
|
||||
|
||||
SerialiseObject(VkBufferView, "texelBufferView", el.texelBufferView);
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ template<> void Serialiser::Serialise(const char *name, VkBufferCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkBufferViewCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkImageCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkImageViewCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkSparseMemoryBind &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkBindSparseInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkFramebufferCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkRenderPassCreateInfo &el);
|
||||
@@ -87,6 +88,7 @@ template<> void Serialiser::Serialise(const char *name, VkPushConstantRange &el)
|
||||
template<> void Serialiser::Serialise(const char *name, VkDescriptorSetLayoutBinding &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkDescriptorSetLayoutCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkDescriptorPoolCreateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkDescriptorSetAllocateInfo &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkWriteDescriptorSet &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkCopyDescriptorSet &el);
|
||||
template<> void Serialiser::Serialise(const char *name, VkCommandPoolCreateInfo &el);
|
||||
@@ -119,10 +121,14 @@ template<> void Serialiser::Serialise(const char *name, VkImageResolve &el);
|
||||
|
||||
template<> void Serialiser::Serialise(const char *name, VkSwapchainCreateInfoKHR &el);
|
||||
|
||||
struct DescriptorSetSlot;
|
||||
template<> void Serialiser::Serialise(const char *name, DescriptorSetSlot &el);
|
||||
|
||||
template<> void Serialiser::Deserialise(const VkDeviceCreateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkBufferCreateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkImageCreateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkBindSparseInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkDescriptorSetAllocateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkFramebufferCreateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkRenderPassCreateInfo* const el) const;
|
||||
template<> void Serialiser::Deserialise(const VkRenderPassBeginInfo* const el) const;
|
||||
|
||||
@@ -52,6 +52,7 @@ WRAPPED_POOL_INST(WrappedVkFramebuffer)
|
||||
WRAPPED_POOL_INST(WrappedVkCommandPool)
|
||||
|
||||
WRAPPED_POOL_INST(WrappedVkSwapchainKHR)
|
||||
WRAPPED_POOL_INST(WrappedVkSurfaceKHR)
|
||||
|
||||
byte VkResourceRecord::markerValue[32] = {
|
||||
0xaa, 0xbb, 0xcc, 0xdd,
|
||||
|
||||
@@ -2023,7 +2023,7 @@ namespace renderdocui.Windows.PipelineState
|
||||
string slotname = bindMap.bind.ToString();
|
||||
slotname += ": " + b.name;
|
||||
|
||||
for (int a = 0; a < bind.arraySize; a++)
|
||||
for (int a = 0; a < bind.descriptorCount; a++)
|
||||
{
|
||||
var descriptorBind = bind.binds[a];
|
||||
|
||||
@@ -2093,7 +2093,7 @@ namespace renderdocui.Windows.PipelineState
|
||||
string slotname = bindMap.bind.ToString();
|
||||
slotname += ": " + b.name;
|
||||
|
||||
for (int a = 0; a < bind.arraySize; a++)
|
||||
for (int a = 0; a < bind.descriptorCount; a++)
|
||||
{
|
||||
var descriptorBind = bind.binds[a];
|
||||
|
||||
@@ -2209,7 +2209,7 @@ namespace renderdocui.Windows.PipelineState
|
||||
string slotname = bindMap.bind.ToString();
|
||||
slotname += ": " + b.name;
|
||||
|
||||
for (int a = 0; a < bind.arraySize; a++)
|
||||
for (int a = 0; a < bind.descriptorCount; a++)
|
||||
{
|
||||
var descriptorBind = bind.binds[a];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user