From 85fd83f55c8236b0d9db4ad60564f8ba82586c98 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 10 Feb 2016 20:22:47 +0100 Subject: [PATCH] Linux compile fixes (some apply to bad code on windows too) --- renderdoc/driver/shaders/spirv/spirv_disassemble.cpp | 2 +- renderdoc/driver/vulkan/vk_core.h | 6 ++---- renderdoc/driver/vulkan/vk_debug.cpp | 2 ++ renderdoc/driver/vulkan/vk_replay.cpp | 8 +++++--- renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp | 4 ++++ renderdoc/replay/replay_renderer.cpp | 1 + 6 files changed, 15 insertions(+), 8 deletions(-) diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index af38bee6c1..6b31c1097c 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -1312,7 +1312,7 @@ struct SPVInstruction // can't gracefully handle unknown arguments here if(op->arguments[0]->opcode == spv::OpUnknown || op->arguments[0]->opcode == spv::OpUnknown || vec1type == NULL || vec2type == NULL) { - ret += StringFormat::Fmt("VectorShuffle(%s, %s)", op->arguments[0]->Disassemble(ids, true), op->arguments[1]->Disassemble(ids, true)); + ret += StringFormat::Fmt("VectorShuffle(%s, %s)", op->arguments[0]->Disassemble(ids, true).c_str(), op->arguments[1]->Disassemble(ids, true).c_str()); return ret; } diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index cb0d83c371..7fd3128ff7 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -1509,8 +1509,7 @@ class WrappedVulkan : public IFrameCapturer #if defined(VK_USE_PLATFORM_XCB_KHR) VkResult vkCreateXcbSurfaceKHR( VkInstance instance, - xcb_connection_t* connection, - xcb_window_t window, + const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); @@ -1524,8 +1523,7 @@ class WrappedVulkan : public IFrameCapturer #if defined(VK_USE_PLATFORM_XLIB_KHR) VkResult vkCreateXlibSurfaceKHR( VkInstance instance, - Display* dpy, - Window window, + const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); diff --git a/renderdoc/driver/vulkan/vk_debug.cpp b/renderdoc/driver/vulkan/vk_debug.cpp index 4997a6c33c..55c619bbfa 100644 --- a/renderdoc/driver/vulkan/vk_debug.cpp +++ b/renderdoc/driver/vulkan/vk_debug.cpp @@ -36,6 +36,8 @@ #include "data/spv/debuguniforms.h" +#include + const VkDeviceSize STAGE_BUFFER_BYTE_SIZE = 16*1024*1024ULL; void VulkanDebugManager::GPUBuffer::Create(WrappedVulkan *driver, VkDevice dev, VkDeviceSize size, uint32_t ringSize, uint32_t flags) diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index d8dea80c66..5af26a0d48 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -34,6 +34,8 @@ #include "data/spv/debuguniforms.h" +#include + VulkanReplay::OutputWindow::OutputWindow() : wnd(NULL_WND_HANDLE), width(0), height(0), dsimg(VK_NULL_HANDLE), dsmem(VK_NULL_HANDLE) { @@ -2458,7 +2460,7 @@ bool VulkanReplay::CheckResizeOutputWindow(uint64_t id) int32_t w, h; GetOutputWindowDimensions(id, w, h); - if(w != outw.width || h != outw.height) + if((uint32_t)w != outw.width || (uint32_t)h != outw.height) { outw.width = w; outw.height = h; @@ -3467,7 +3469,7 @@ bool VulkanReplay::GetMinMax(ResourceId texid, uint32_t sliceFace, uint32_t mip, imdesc.imageView = Unwrap(liveImView); imdesc.sampler = Unwrap(GetDebugManager()->m_PointSampler); - int descSetBinding = 0; + uint32_t descSetBinding = 0; uint32_t intTypeIndex = 0; if(IsUIntFormat(iminfo.format)) @@ -3703,7 +3705,7 @@ bool VulkanReplay::GetHistogram(ResourceId texid, uint32_t sliceFace, uint32_t m CreateTexImageView(aspectFlags, liveIm, iminfo); - int descSetBinding = 0; + uint32_t descSetBinding = 0; uint32_t intTypeIndex = 0; if(IsUIntFormat(iminfo.format)) diff --git a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp index 3c33116f5d..6acab7e9fc 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_misc_funcs.cpp @@ -867,6 +867,10 @@ static VkResourceRecord *GetObjRecord(VkDebugReportObjectTypeEXT objType, uint64 return GetRecord((VkSwapchainKHR)object); case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: return GetRecord((VkCommandPool)object); + case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: + return NULL; + case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT: + return NULL; } return NULL; } diff --git a/renderdoc/replay/replay_renderer.cpp b/renderdoc/replay/replay_renderer.cpp index df118bffab..35ee6493d1 100644 --- a/renderdoc/replay/replay_renderer.cpp +++ b/renderdoc/replay/replay_renderer.cpp @@ -1213,6 +1213,7 @@ bool ReplayRenderer::PixelHistory(ResourceId target, uint32_t x, uint32_t y, uin case eUsage_GS_Resource: case eUsage_PS_Resource: case eUsage_CS_Resource: + case eUsage_InputTarget: case eUsage_CopySrc: case eUsage_ResolveSrc: // read-only, not a valid pixel history event