mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-25 08:08:50 +00:00
Fix core compiling
This commit is contained in:
1 parent
59398c8567
commit
3649fc4134
5 files changed
+109
-125
No files matched your search
@@ -184,7 +184,6 @@ enum VulkanChunkType
|
||||
CREATE_IMAGE_VIEW,
|
||||
CREATE_DEPTH_TARGET_VIEW,
|
||||
CREATE_SAMPLER,
|
||||
CREATE_SHADER,
|
||||
CREATE_SHADER_MODULE,
|
||||
CREATE_PIPE_LAYOUT,
|
||||
CREATE_PIPE_CACHE,
|
||||
@@ -211,8 +210,6 @@ enum VulkanChunkType
|
||||
BEGIN_CMD_BUFFER,
|
||||
END_CMD_BUFFER,
|
||||
|
||||
QUEUE_SIGNAL_SEMAPHORE,
|
||||
QUEUE_WAIT_SEMAPHORE,
|
||||
QUEUE_WAIT_IDLE,
|
||||
DEVICE_WAIT_IDLE,
|
||||
|
||||
@@ -220,9 +217,7 @@ enum VulkanChunkType
|
||||
BIND_BUFFER_MEM,
|
||||
BIND_IMAGE_MEM,
|
||||
|
||||
BIND_SPARSE_BUF,
|
||||
BIND_SPARSE_OPAQUE_IM,
|
||||
BIND_SPARSE_IM,
|
||||
BIND_SPARSE,
|
||||
|
||||
BEGIN_RENDERPASS,
|
||||
NEXT_SUBPASS,
|
||||
@@ -256,8 +251,7 @@ enum VulkanChunkType
|
||||
|
||||
CLEAR_COLOR,
|
||||
CLEAR_DEPTHSTENCIL,
|
||||
CLEAR_COLOR_ATTACH,
|
||||
CLEAR_DEPTHSTENCIL_ATTACH,
|
||||
CLEAR_ATTACH,
|
||||
PIPELINE_BARRIER,
|
||||
|
||||
WRITE_TIMESTAMP,
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
static bool operator <(const VkExtensionProperties &a, const VkExtensionProperties &b)
|
||||
{
|
||||
int cmp = strcmp(a.extName, b.extName);
|
||||
int cmp = strcmp(a.extensionName, b.extensionName);
|
||||
if(cmp == 0)
|
||||
return a.specVersion < b.specVersion;
|
||||
|
||||
@@ -67,7 +67,6 @@ const char *VkChunkNames[] =
|
||||
"vkCreateImageView",
|
||||
"vkCreateDepthTargetView",
|
||||
"vkCreateSampler",
|
||||
"vkCreateShader",
|
||||
"vkCreateShaderModule",
|
||||
"vkCreatePipelineLayout",
|
||||
"vkCreatePipelineCache",
|
||||
@@ -94,8 +93,6 @@ const char *VkChunkNames[] =
|
||||
"vkBeginCommandBuffer",
|
||||
"vkEndCommandBuffer",
|
||||
|
||||
"vkQueueSignalSemaphore",
|
||||
"vkQueueWaitSemaphore",
|
||||
"vkQueueWaitIdle",
|
||||
"vkDeviceWaitIdle",
|
||||
|
||||
@@ -103,9 +100,7 @@ const char *VkChunkNames[] =
|
||||
"vkBindBufferMemory",
|
||||
"vkBindImageMemory",
|
||||
|
||||
"vkQueueBindSparseBufferMemory",
|
||||
"vkQueueBindSparseImageOpaqueMemory",
|
||||
"vkQueueBindSparseImageMemory",
|
||||
"vkQueueBindSparse",
|
||||
|
||||
"vkCmdBeginRenderPass",
|
||||
"vkCmdNextSubpass",
|
||||
@@ -139,8 +134,7 @@ const char *VkChunkNames[] =
|
||||
|
||||
"vkCmdClearColorImage",
|
||||
"vkCmdClearDepthStencilImage",
|
||||
"vkCmdClearColorAttachment",
|
||||
"vkCmdClearDepthStencilAttachment",
|
||||
"vkCmdClearAttachments",
|
||||
"vkCmdPipelineBarrier",
|
||||
|
||||
"vkCmdWriteTimestamp",
|
||||
@@ -206,17 +200,17 @@ void VkInitParams::Set(const VkInstanceCreateInfo* pCreateInfo, ResourceId inst)
|
||||
{
|
||||
RDCASSERT(pCreateInfo);
|
||||
|
||||
if(pCreateInfo->pAppInfo)
|
||||
if(pCreateInfo->pApplicationInfo)
|
||||
{
|
||||
// we don't support any extensions on appinfo structure
|
||||
RDCASSERT(pCreateInfo->pAppInfo->pNext == NULL);
|
||||
RDCASSERT(pCreateInfo->pApplicationInfo->pNext == NULL);
|
||||
|
||||
AppName = pCreateInfo->pAppInfo->pAppName ? pCreateInfo->pAppInfo->pAppName : "";
|
||||
EngineName = pCreateInfo->pAppInfo->pEngineName ? pCreateInfo->pAppInfo->pEngineName : "";
|
||||
AppName = pCreateInfo->pApplicationInfo->pApplicationName ? pCreateInfo->pApplicationInfo->pApplicationName : "";
|
||||
EngineName = pCreateInfo->pApplicationInfo->pEngineName ? pCreateInfo->pApplicationInfo->pEngineName : "";
|
||||
|
||||
AppVersion = pCreateInfo->pAppInfo->appVersion;
|
||||
EngineVersion = pCreateInfo->pAppInfo->engineVersion;
|
||||
APIVersion = pCreateInfo->pAppInfo->apiVersion;
|
||||
AppVersion = pCreateInfo->pApplicationInfo->applicationVersion;
|
||||
EngineVersion = pCreateInfo->pApplicationInfo->engineVersion;
|
||||
APIVersion = pCreateInfo->pApplicationInfo->apiVersion;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -228,13 +222,13 @@ void VkInitParams::Set(const VkInstanceCreateInfo* pCreateInfo, ResourceId inst)
|
||||
APIVersion = 0;
|
||||
}
|
||||
|
||||
Layers.resize(pCreateInfo->layerCount);
|
||||
Extensions.resize(pCreateInfo->extensionCount);
|
||||
Layers.resize(pCreateInfo->enabledLayerNameCount);
|
||||
Extensions.resize(pCreateInfo->enabledExtensionNameCount);
|
||||
|
||||
for(uint32_t i=0; i < pCreateInfo->layerCount; i++)
|
||||
for(uint32_t i=0; i < pCreateInfo->enabledLayerNameCount; i++)
|
||||
Layers[i] = pCreateInfo->ppEnabledLayerNames[i];
|
||||
|
||||
for(uint32_t i=0; i < pCreateInfo->extensionCount; i++)
|
||||
for(uint32_t i=0; i < pCreateInfo->enabledExtensionNameCount; i++)
|
||||
Extensions[i] = pCreateInfo->ppEnabledExtensionNames[i];
|
||||
|
||||
InstanceID = inst;
|
||||
@@ -374,8 +368,8 @@ VkCommandBuffer WrappedVulkan::GetNextCmd()
|
||||
}
|
||||
else
|
||||
{
|
||||
VkCmdBufferCreateInfo cmdInfo = { VK_STRUCTURE_TYPE_CMD_BUFFER_CREATE_INFO, NULL, Unwrap(m_InternalCmds.m_CmdPool), VK_CMD_BUFFER_LEVEL_PRIMARY, 0 };
|
||||
VkResult vkr = ObjDisp(m_Device)->CreateCommandBuffer(Unwrap(m_Device), &cmdInfo, &ret);
|
||||
VkCommandBufferAllocateInfo cmdInfo = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, NULL, Unwrap(m_InternalCmds.m_CmdPool), VK_COMMAND_BUFFER_LEVEL_PRIMARY, 1 };
|
||||
VkResult vkr = ObjDisp(m_Device)->AllocateCommandBuffers(Unwrap(m_Device), &cmdInfo, &ret);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
|
||||
GetResourceManager()->WrapResource(Unwrap(m_Device), ret);
|
||||
@@ -395,7 +389,14 @@ void WrappedVulkan::SubmitCmds()
|
||||
vector<VkCommandBuffer> cmds = m_InternalCmds.pendingcmds;
|
||||
for(size_t i=0; i < cmds.size(); i++) cmds[i] = Unwrap(cmds[i]);
|
||||
|
||||
VkResult vkr = ObjDisp(m_Queue)->QueueSubmit(Unwrap(m_Queue), (uint32_t)cmds.size(), &cmds[0], VK_NULL_HANDLE);
|
||||
VkSubmitInfo submitInfo = {
|
||||
VK_STRUCTURE_TYPE_SUBMIT_INFO, NULL,
|
||||
0, NULL, // wait semaphores
|
||||
(uint32_t)cmds.size(), &cmds[0], // command buffers
|
||||
0, NULL, // signal semaphores
|
||||
};
|
||||
|
||||
VkResult vkr = ObjDisp(m_Queue)->QueueSubmit(Unwrap(m_Queue), 1, &submitInfo, VK_NULL_HANDLE);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
|
||||
m_InternalCmds.submittedcmds.insert(m_InternalCmds.submittedcmds.end(), m_InternalCmds.pendingcmds.begin(), m_InternalCmds.pendingcmds.end());
|
||||
@@ -760,22 +761,21 @@ bool WrappedVulkan::EndFrameCapture(void *dev, void *wnd)
|
||||
|
||||
// create identical image
|
||||
VkImageCreateInfo imInfo = {
|
||||
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, NULL,
|
||||
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, NULL, 0,
|
||||
VK_IMAGE_TYPE_2D, swapInfo.format,
|
||||
{ swapInfo.extent.width, swapInfo.extent.height, 1 }, 1, 1, 1,
|
||||
VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_DESTINATION_BIT,
|
||||
0,
|
||||
{ swapInfo.extent.width, swapInfo.extent.height, 1 }, 1, 1,
|
||||
VK_SAMPLE_COUNT_1_BIT,
|
||||
VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_DST_BIT,
|
||||
VK_SHARING_MODE_EXCLUSIVE, 0, NULL,
|
||||
VK_IMAGE_LAYOUT_UNDEFINED,
|
||||
};
|
||||
vt->CreateImage(Unwrap(dev), &imInfo, &readbackIm);
|
||||
vt->CreateImage(Unwrap(dev), &imInfo, NULL, &readbackIm);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
|
||||
VkMemoryRequirements mrq;
|
||||
vkr = vt->GetImageMemoryRequirements(Unwrap(dev), readbackIm, &mrq);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
vt->GetImageMemoryRequirements(Unwrap(dev), readbackIm, &mrq);
|
||||
|
||||
VkImageSubresource subr = { VK_IMAGE_ASPECT_COLOR, 0, 0 };
|
||||
VkImageSubresource subr = { VK_IMAGE_ASPECT_COLOR_BIT, 0, 0 };
|
||||
VkSubresourceLayout layout = { 0 };
|
||||
vt->GetImageSubresourceLayout(Unwrap(dev), readbackIm, &subr, &layout);
|
||||
|
||||
@@ -785,7 +785,7 @@ bool WrappedVulkan::EndFrameCapture(void *dev, void *wnd)
|
||||
mrq.size, GetReadbackMemoryIndex(mrq.memoryTypeBits),
|
||||
};
|
||||
|
||||
vkr = vt->AllocMemory(Unwrap(dev), &allocInfo, &readbackMem);
|
||||
vkr = vt->AllocateMemory(Unwrap(dev), &allocInfo, NULL, &readbackMem);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
vkr = vt->BindImageMemory(Unwrap(dev), readbackIm, readbackMem, 0);
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
@@ -797,16 +797,16 @@ bool WrappedVulkan::EndFrameCapture(void *dev, void *wnd)
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
|
||||
VkImageCopy cpy = {
|
||||
{ VK_IMAGE_ASPECT_COLOR, 0, 0, 1 },
|
||||
{ VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1 },
|
||||
{ 0, 0, 0 },
|
||||
{ VK_IMAGE_ASPECT_COLOR, 0, 0, 1 },
|
||||
{ VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1 },
|
||||
{ 0, 0, 0 },
|
||||
{ imInfo.extent.width, imInfo.extent.height, 1 },
|
||||
};
|
||||
|
||||
VkImageMemoryBarrier bbBarrier = {
|
||||
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, NULL,
|
||||
0, 0, VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
|
||||
0, 0, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
|
||||
VK_QUEUE_FAMILY_IGNORED, VK_QUEUE_FAMILY_IGNORED,
|
||||
Unwrap(backbuffer),
|
||||
{ VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1 }
|
||||
@@ -942,8 +942,8 @@ bool WrappedVulkan::EndFrameCapture(void *dev, void *wnd)
|
||||
vt->UnmapMemory(Unwrap(dev), readbackMem);
|
||||
|
||||
// delete all
|
||||
vt->DestroyImage(Unwrap(dev), readbackIm);
|
||||
vt->FreeMemory(Unwrap(dev), readbackMem);
|
||||
vt->DestroyImage(Unwrap(dev), readbackIm, NULL);
|
||||
vt->FreeMemory(Unwrap(dev), readbackMem, NULL);
|
||||
}
|
||||
|
||||
byte *jpgbuf = NULL;
|
||||
@@ -1264,14 +1264,14 @@ void WrappedVulkan::ContextReplayLog(LogState readType, uint32_t startEventID, u
|
||||
|
||||
// destroy any events we created for waiting on
|
||||
for(size_t i=0; i < m_CleanupEvents.size(); i++)
|
||||
ObjDisp(GetDev())->DestroyEvent(Unwrap(GetDev()), m_CleanupEvents[i]);
|
||||
ObjDisp(GetDev())->DestroyEvent(Unwrap(GetDev()), m_CleanupEvents[i], NULL);
|
||||
|
||||
m_CleanupEvents.clear();
|
||||
|
||||
if(m_PartialReplayData.resultPartialCmdBuffer != VK_NULL_HANDLE)
|
||||
{
|
||||
// deliberately call our own function, so this is destroyed as a wrapped object
|
||||
vkDestroyCommandBuffer(m_PartialReplayData.partialDevice, m_PartialReplayData.resultPartialCmdBuffer);
|
||||
vkFreeCommandBuffers(m_PartialReplayData.partialDevice, m_PartialReplayData.resultPartialCmdPool, 1, &m_PartialReplayData.resultPartialCmdBuffer);
|
||||
m_PartialReplayData.resultPartialCmdBuffer = VK_NULL_HANDLE;
|
||||
}
|
||||
|
||||
@@ -1339,14 +1339,14 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
Serialise_vkEnumeratePhysicalDevices(GetMainSerialiser(), NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_DEVICE:
|
||||
Serialise_vkCreateDevice(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateDevice(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case GET_DEVICE_QUEUE:
|
||||
Serialise_vkGetDeviceQueue(GetMainSerialiser(), VK_NULL_HANDLE, 0, 0, NULL);
|
||||
break;
|
||||
|
||||
case ALLOC_MEM:
|
||||
Serialise_vkAllocMemory(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkAllocateMemory(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case UNMAP_MEM:
|
||||
Serialise_vkUnmapMemory(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE);
|
||||
@@ -1358,65 +1358,62 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
RDCERR("vkFreeMemory should not be serialised directly");
|
||||
break;
|
||||
case CREATE_CMD_POOL:
|
||||
Serialise_vkCreateCommandPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateCommandPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_CMD_BUFFER:
|
||||
RDCERR("vkCreateCommandBuffer should not be serialised directly");
|
||||
break;
|
||||
case CREATE_FRAMEBUFFER:
|
||||
Serialise_vkCreateFramebuffer(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateFramebuffer(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_RENDERPASS:
|
||||
Serialise_vkCreateRenderPass(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateRenderPass(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_DESCRIPTOR_POOL:
|
||||
Serialise_vkCreateDescriptorPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateDescriptorPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_DESCRIPTOR_SET_LAYOUT:
|
||||
Serialise_vkCreateDescriptorSetLayout(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateDescriptorSetLayout(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_BUFFER:
|
||||
Serialise_vkCreateBuffer(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateBuffer(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_BUFFER_VIEW:
|
||||
Serialise_vkCreateBufferView(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateBufferView(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_IMAGE:
|
||||
Serialise_vkCreateImage(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateImage(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_IMAGE_VIEW:
|
||||
Serialise_vkCreateImageView(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateImageView(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_SAMPLER:
|
||||
Serialise_vkCreateSampler(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
break;
|
||||
case CREATE_SHADER:
|
||||
Serialise_vkCreateShader(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateSampler(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_SHADER_MODULE:
|
||||
Serialise_vkCreateShaderModule(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateShaderModule(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_PIPE_LAYOUT:
|
||||
Serialise_vkCreatePipelineLayout(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreatePipelineLayout(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_PIPE_CACHE:
|
||||
Serialise_vkCreatePipelineCache(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreatePipelineCache(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_GRAPHICS_PIPE:
|
||||
Serialise_vkCreateGraphicsPipelines(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL, NULL);
|
||||
Serialise_vkCreateGraphicsPipelines(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_COMPUTE_PIPE:
|
||||
Serialise_vkCreateComputePipelines(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL, NULL);
|
||||
Serialise_vkCreateComputePipelines(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL, NULL, NULL);
|
||||
break;
|
||||
case GET_SWAPCHAIN_IMAGE:
|
||||
Serialise_vkGetSwapchainImagesKHR(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, NULL, NULL);
|
||||
break;
|
||||
|
||||
case CREATE_SEMAPHORE:
|
||||
Serialise_vkCreateSemaphore(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateSemaphore(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case CREATE_FENCE:
|
||||
Serialise_vkCreateFence(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateFence(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case GET_FENCE_STATUS:
|
||||
Serialise_vkGetFenceStatus(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE);
|
||||
@@ -1429,7 +1426,7 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
break;
|
||||
|
||||
case CREATE_EVENT:
|
||||
Serialise_vkCreateEvent(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateEvent(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
case GET_EVENT_STATUS:
|
||||
Serialise_vkGetEventStatus(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE);
|
||||
@@ -1442,11 +1439,11 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
break;
|
||||
|
||||
case CREATE_QUERY_POOL:
|
||||
Serialise_vkCreateQueryPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateQueryPool(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
|
||||
case ALLOC_DESC_SET:
|
||||
Serialise_vkAllocDescriptorSets(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_DESCRIPTOR_SET_USAGE_MAX_ENUM, 0, NULL, NULL);
|
||||
Serialise_vkAllocateDescriptorSets(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
break;
|
||||
case UPDATE_DESC_SET:
|
||||
Serialise_vkUpdateDescriptorSets(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL, 0, NULL);
|
||||
@@ -1459,12 +1456,6 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
Serialise_vkEndCommandBuffer(GetMainSerialiser(), VK_NULL_HANDLE);
|
||||
break;
|
||||
|
||||
case QUEUE_SIGNAL_SEMAPHORE:
|
||||
Serialise_vkQueueSignalSemaphore(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE);
|
||||
break;
|
||||
case QUEUE_WAIT_SEMAPHORE:
|
||||
Serialise_vkQueueWaitSemaphore(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE);
|
||||
break;
|
||||
case QUEUE_WAIT_IDLE:
|
||||
Serialise_vkQueueWaitIdle(GetMainSerialiser(), VK_NULL_HANDLE);
|
||||
break;
|
||||
@@ -1482,21 +1473,15 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
Serialise_vkBindImageMemory(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_NULL_HANDLE, 0);
|
||||
break;
|
||||
|
||||
case BIND_SPARSE_BUF:
|
||||
Serialise_vkQueueBindSparseBufferMemory(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL);
|
||||
break;
|
||||
case BIND_SPARSE_OPAQUE_IM:
|
||||
Serialise_vkQueueBindSparseImageOpaqueMemory(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL);
|
||||
break;
|
||||
case BIND_SPARSE_IM:
|
||||
Serialise_vkQueueBindSparseImageMemory(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, NULL);
|
||||
case BIND_SPARSE:
|
||||
Serialise_vkQueueBindSparse(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL, VK_NULL_HANDLE);
|
||||
break;
|
||||
|
||||
case BEGIN_RENDERPASS:
|
||||
Serialise_vkCmdBeginRenderPass(GetMainSerialiser(), VK_NULL_HANDLE, NULL, VK_RENDER_PASS_CONTENTS_MAX_ENUM);
|
||||
Serialise_vkCmdBeginRenderPass(GetMainSerialiser(), VK_NULL_HANDLE, NULL, VK_SUBPASS_CONTENTS_MAX_ENUM);
|
||||
break;
|
||||
case NEXT_SUBPASS:
|
||||
Serialise_vkCmdNextSubpass(GetMainSerialiser(), VK_NULL_HANDLE, VK_RENDER_PASS_CONTENTS_MAX_ENUM);
|
||||
Serialise_vkCmdNextSubpass(GetMainSerialiser(), VK_NULL_HANDLE, VK_SUBPASS_CONTENTS_MAX_ENUM);
|
||||
break;
|
||||
case EXEC_CMDS:
|
||||
Serialise_vkCmdExecuteCommands(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL);
|
||||
@@ -1554,7 +1539,7 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
Serialise_vkCmdCopyImage(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, 0, NULL);
|
||||
break;
|
||||
case BLIT_IMG:
|
||||
Serialise_vkCmdBlitImage(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, 0, NULL, VK_TEX_FILTER_MAX_ENUM);
|
||||
Serialise_vkCmdBlitImage(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, 0, NULL, VK_FILTER_MAX_ENUM);
|
||||
break;
|
||||
case RESOLVE_IMG:
|
||||
Serialise_vkCmdResolveImage(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, 0, NULL);
|
||||
@@ -1577,17 +1562,14 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
case CLEAR_DEPTHSTENCIL:
|
||||
Serialise_vkCmdClearDepthStencilImage(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_IMAGE_LAYOUT_MAX_ENUM, NULL, 0, NULL);
|
||||
break;
|
||||
case CLEAR_COLOR_ATTACH:
|
||||
Serialise_vkCmdClearColorAttachment(GetMainSerialiser(), VK_NULL_HANDLE, 0, VK_IMAGE_LAYOUT_MAX_ENUM, NULL, 0, NULL);
|
||||
break;
|
||||
case CLEAR_DEPTHSTENCIL_ATTACH:
|
||||
Serialise_vkCmdClearDepthStencilAttachment(GetMainSerialiser(), VK_NULL_HANDLE, 0, VK_IMAGE_LAYOUT_MAX_ENUM, NULL, 0, NULL);
|
||||
case CLEAR_ATTACH:
|
||||
Serialise_vkCmdClearAttachments(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL, 0, NULL);
|
||||
break;
|
||||
case PIPELINE_BARRIER:
|
||||
Serialise_vkCmdPipelineBarrier(GetMainSerialiser(), VK_NULL_HANDLE, 0, 0, VK_FALSE, 0, NULL);
|
||||
break;
|
||||
case WRITE_TIMESTAMP:
|
||||
Serialise_vkCmdWriteTimestamp(GetMainSerialiser(), VK_NULL_HANDLE, VK_TIMESTAMP_TYPE_MAX_ENUM, VK_NULL_HANDLE, 0);
|
||||
Serialise_vkCmdWriteTimestamp(GetMainSerialiser(), VK_NULL_HANDLE, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_NULL_HANDLE, 0);
|
||||
break;
|
||||
case COPY_QUERY_RESULTS:
|
||||
Serialise_vkCmdCopyQueryPoolResults(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, 0, 0, VK_NULL_HANDLE, 0, 0, VK_QUERY_RESULT_DEFAULT);
|
||||
@@ -1603,13 +1585,13 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
break;
|
||||
|
||||
case CMD_SET_EVENT:
|
||||
Serialise_vkCmdSetEvent(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS);
|
||||
Serialise_vkCmdSetEvent(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
|
||||
break;
|
||||
case CMD_RESET_EVENT:
|
||||
Serialise_vkCmdResetEvent(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS);
|
||||
Serialise_vkCmdResetEvent(GetMainSerialiser(), VK_NULL_HANDLE, VK_NULL_HANDLE, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT);
|
||||
break;
|
||||
case CMD_WAIT_EVENTS:
|
||||
Serialise_vkCmdWaitEvents(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS, VK_PIPELINE_STAGE_ALL_GPU_COMMANDS, 0, NULL);
|
||||
Serialise_vkCmdWaitEvents(GetMainSerialiser(), VK_NULL_HANDLE, 0, NULL, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, NULL);
|
||||
break;
|
||||
|
||||
case DRAW:
|
||||
@@ -1642,7 +1624,7 @@ void WrappedVulkan::ProcessChunk(uint64_t offset, VulkanChunkType context)
|
||||
break;
|
||||
|
||||
case CREATE_SWAP_BUFFER:
|
||||
Serialise_vkCreateSwapchainKHR(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL);
|
||||
Serialise_vkCreateSwapchainKHR(GetMainSerialiser(), VK_NULL_HANDLE, NULL, NULL, NULL);
|
||||
break;
|
||||
|
||||
case CAPTURE_SCOPE:
|
||||
|
||||
@@ -264,6 +264,7 @@ private:
|
||||
// the command buffer chunks, the partial command buffer will be
|
||||
// created as a temporary new command buffer and when it comes to
|
||||
// the queue that should submit it, it can submit this instead.
|
||||
VkCommandPool resultPartialCmdPool;
|
||||
VkCommandBuffer resultPartialCmdBuffer;
|
||||
VkDevice partialDevice; // device for above cmd buffer
|
||||
|
||||
|
||||
@@ -185,11 +185,11 @@ void VulkanDebugManager::GPUBuffer::Create(WrappedVulkan *driver, VkDevice dev,
|
||||
RDCASSERT(vkr == VK_SUCCESS);
|
||||
}
|
||||
|
||||
void VulkanDebugManager::GPUBuffer::FillDescriptor(VkDescriptorInfo &desc)
|
||||
void VulkanDebugManager::GPUBuffer::FillDescriptor(VkDescriptorBufferInfo &desc)
|
||||
{
|
||||
desc.bufferInfo.buffer = Unwrap(buf);
|
||||
desc.bufferInfo.offset = 0;
|
||||
desc.bufferInfo.range = sz;
|
||||
desc.buffer = Unwrap(buf);
|
||||
desc.offset = 0;
|
||||
desc.range = sz;
|
||||
}
|
||||
|
||||
void VulkanDebugManager::GPUBuffer::Destroy(const VkLayerDispatchTable *vt, VkDevice dev)
|
||||
@@ -1243,50 +1243,58 @@ VulkanDebugManager::VulkanDebugManager(WrappedVulkan *driver, VkDevice dev)
|
||||
// don't need to ring this, as we hard-sync for readback anyway
|
||||
m_HistogramUBO.Create(driver, dev, sizeof(histogramuniforms), 1, 0);
|
||||
|
||||
VkDescriptorInfo desc[8];
|
||||
RDCEraseEl(desc);
|
||||
VkDescriptorBufferInfo bufInfo[6];
|
||||
RDCEraseEl(bufInfo);
|
||||
|
||||
// tex display is updated right before rendering
|
||||
|
||||
m_CheckerboardUBO.FillDescriptor(desc[0]);
|
||||
m_TextGeneralUBO.FillDescriptor(desc[1]);
|
||||
m_TextGlyphUBO.FillDescriptor(desc[2]);
|
||||
m_TextStringUBO.FillDescriptor(desc[3]);
|
||||
desc[4].imageLayout = VK_IMAGE_LAYOUT_GENERAL;
|
||||
desc[4].imageView = Unwrap(m_TextAtlasView);
|
||||
desc[4].sampler = Unwrap(m_LinearSampler);
|
||||
m_CheckerboardUBO.FillDescriptor(bufInfo[0]);
|
||||
m_TextGeneralUBO.FillDescriptor(bufInfo[1]);
|
||||
m_TextGlyphUBO.FillDescriptor(bufInfo[2]);
|
||||
m_TextStringUBO.FillDescriptor(bufInfo[3]);
|
||||
m_MeshUBO.FillDescriptor(bufInfo[4]);
|
||||
m_OutlineUBO.FillDescriptor(bufInfo[5]);
|
||||
|
||||
VkDescriptorImageInfo atlasImInfo;
|
||||
atlasImInfo.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
|
||||
atlasImInfo.imageView = Unwrap(m_TextAtlasView);
|
||||
atlasImInfo.sampler = Unwrap(m_LinearSampler);
|
||||
|
||||
m_MeshUBO.FillDescriptor(desc[6]);
|
||||
m_OutlineUBO.FillDescriptor(desc[7]);
|
||||
|
||||
VkWriteDescriptorSet writeSet[] = {
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_CheckerboardDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, &desc[0]
|
||||
Unwrap(m_CheckerboardDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
NULL, &bufInfo[0], NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_TextDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, &desc[1]
|
||||
Unwrap(m_TextDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
NULL, &bufInfo[1], NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_TextDescSet), 1, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &desc[2]
|
||||
Unwrap(m_TextDescSet), 1, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
|
||||
NULL, &bufInfo[2], NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_TextDescSet), 2, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, &desc[3]
|
||||
Unwrap(m_TextDescSet), 2, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
NULL, &bufInfo[3], NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_TextDescSet), 3, 0, 1, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &desc[4]
|
||||
Unwrap(m_TextDescSet), 3, 0, 1, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
|
||||
&atlasImInfo, NULL, NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_MeshDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, &desc[6]
|
||||
Unwrap(m_MeshDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
NULL, &bufInfo[4], NULL
|
||||
},
|
||||
{
|
||||
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, NULL,
|
||||
Unwrap(m_OutlineDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, &desc[7]
|
||||
Unwrap(m_OutlineDescSet), 0, 0, 1, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
|
||||
NULL, &bufInfo[5], NULL
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ class VulkanDebugManager
|
||||
void Create(WrappedVulkan *driver, VkDevice dev, VkDeviceSize size, uint32_t ringSize, uint32_t flags);
|
||||
void Destroy(const VkLayerDispatchTable *vt, VkDevice dev);
|
||||
|
||||
void FillDescriptor(VkDescriptorInfo &desc);
|
||||
void FillDescriptor(VkDescriptorBufferInfo &desc);
|
||||
|
||||
void *Map(const VkLayerDispatchTable *vt, VkDevice dev, VkDeviceSize &bindoffset, VkDeviceSize usedsize = 0);
|
||||
void *Map(const VkLayerDispatchTable *vt, VkDevice dev, uint32_t *bindoffset = NULL, VkDeviceSize usedsize = 0);
|
||||
@@ -202,7 +202,6 @@ class VulkanDebugManager
|
||||
VkPipelineLayout m_MeshPipeLayout;
|
||||
VkDescriptorSet m_MeshDescSet;
|
||||
GPUBuffer m_MeshUBO, m_MeshBBoxVB, m_MeshAxisFrustumVB;
|
||||
VkShader m_MeshShaders[3];
|
||||
VkShaderModule m_MeshModules[3];
|
||||
|
||||
GPUBuffer m_MinMaxTileResult; // tile result buffer
|
||||
@@ -236,7 +235,7 @@ class VulkanDebugManager
|
||||
|
||||
VulkanResourceManager *GetResourceManager() { return m_ResourceManager; }
|
||||
|
||||
void PatchFixedColShader(VkShaderModule &mod, VkShader &shad, float col[4]);
|
||||
void PatchFixedColShader(VkShaderModule &mod, float col[4]);
|
||||
|
||||
void RenderTextInternal(const TextPrintState &textstate, float x, float y, const char *text);
|
||||
void MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo &pipeCreateInfo, ResourceId pipeline);
|
||||
|
||||
Reference in new issue
Block a user