From 2e276a7f843a08c71e235f2d45eb8eb33bb16de4 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 9 Nov 2022 13:22:53 +0000 Subject: [PATCH] Remove rdcarray sized constructor --- qrenderdoc/Windows/Dialogs/SettingsDialog.cpp | 3 ++- renderdoc/api/replay/rdcarray.h | 6 ------ renderdoc/core/replay_proxy.cpp | 3 ++- renderdoc/driver/d3d11/d3d11_pixelhistory.cpp | 3 ++- renderdoc/driver/d3d11/d3d11_shaderdebug.cpp | 2 +- renderdoc/driver/d3d12/d3d12_shaderdebug.cpp | 2 +- renderdoc/driver/gl/gl_pixelhistory.cpp | 3 ++- renderdoc/driver/gl/wrappers/gl_emulated.cpp | 3 ++- renderdoc/driver/ihv/intel/intel_gl_counters.cpp | 6 ++++-- renderdoc/driver/shaders/spirv/spirv_editor.cpp | 6 ++++-- renderdoc/driver/vulkan/vk_core.cpp | 6 ++++-- renderdoc/driver/vulkan/vk_pixelhistory.cpp | 12 ++++++++---- renderdoc/driver/vulkan/vk_postvs.cpp | 15 ++++++++++----- renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp | 12 ++++++++---- .../driver/vulkan/wrappers/vk_device_funcs.cpp | 9 ++++++--- renderdoc/os/posix/linux/linux_stringio.cpp | 6 ++++-- renderdoc/replay/entry_points.cpp | 6 ++++-- 17 files changed, 64 insertions(+), 39 deletions(-) diff --git a/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp b/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp index 6ff654483..db518c570 100644 --- a/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/SettingsDialog.cpp @@ -700,7 +700,8 @@ void SettingsDialog::on_TextureViewer_ChooseShaderDirectories_clicked() { items = list.getItems(); - rdcarray newDirs(items.size()); + rdcarray newDirs; + newDirs.resize(items.size()); for(int i = 0; i < items.size(); i++) { newDirs[i] = items[i]; diff --git a/renderdoc/api/replay/rdcarray.h b/renderdoc/api/replay/rdcarray.h index b9a41ca8b..dc6aabc29 100644 --- a/renderdoc/api/replay/rdcarray.h +++ b/renderdoc/api/replay/rdcarray.h @@ -149,12 +149,6 @@ public: typedef T value_type; rdcarray() : elems(NULL), allocatedCount(0), usedCount(0) {} - rdcarray(size_t count) - { - elems = NULL; - allocatedCount = usedCount = 0; - resize(count); - } ~rdcarray() { // clear will destruct the actual elements still existing diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index 85693f719..6785a17b9 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -2152,7 +2152,8 @@ void ReplayProxy::DeltaTransferBytes(SerialiserType &xferser, bytebuf &reference } // serialise as an array, move the storage from the list into here - rdcarray deltas(deltasList.size()); + rdcarray deltas; + deltas.resize(deltasList.size()); { // swap between the list and array, so all the buffers just move storage diff --git a/renderdoc/driver/d3d11/d3d11_pixelhistory.cpp b/renderdoc/driver/d3d11/d3d11_pixelhistory.cpp index 05d16787c..2b7b22baa 100644 --- a/renderdoc/driver/d3d11/d3d11_pixelhistory.cpp +++ b/renderdoc/driver/d3d11/d3d11_pixelhistory.cpp @@ -639,7 +639,8 @@ rdcarray D3D11Replay::PixelHistory(rdcarray event // while issuing the above queries we can check to see which tests are enabled so we don't // bother checking if depth testing failed if the depth test was disabled - rdcarray flags(events.size()); + rdcarray flags; + flags.resize(events.size()); std::map depthOps; std::map depthFormats; enum diff --git a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp index 4a9eedc90..d9ff18bb2 100644 --- a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp +++ b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp @@ -2658,7 +2658,7 @@ rdcarray D3D11Replay::ContinueDebug(ShaderDebugger *debugger) DXBCDebug::InterpretDebugger *interpreter = (DXBCDebug::InterpretDebugger *)debugger; if(!interpreter) - return NULL; + return {}; D3D11DebugAPIWrapper apiWrapper(m_pDevice, interpreter->dxbc, interpreter->global, interpreter->eventId); diff --git a/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp b/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp index d1c84d821..dc2a7a96c 100644 --- a/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp +++ b/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp @@ -2791,7 +2791,7 @@ rdcarray D3D12Replay::ContinueDebug(ShaderDebugger *debugger) DXBCDebug::InterpretDebugger *interpreter = (DXBCDebug::InterpretDebugger *)debugger; if(!interpreter) - return NULL; + return {}; D3D12DebugAPIWrapper apiWrapper(m_pDevice, interpreter->dxbc, interpreter->global, interpreter->eventId); diff --git a/renderdoc/driver/gl/gl_pixelhistory.cpp b/renderdoc/driver/gl/gl_pixelhistory.cpp index e76780e62..3bd9b1441 100644 --- a/renderdoc/driver/gl/gl_pixelhistory.cpp +++ b/renderdoc/driver/gl/gl_pixelhistory.cpp @@ -92,7 +92,8 @@ rdcarray QueryModifyingEvents(WrappedOpenGL *driver, GLPixelHistoryR rdcarray &history) { rdcarray modEvents; - rdcarray occlusionQueries(events.size()); + rdcarray occlusionQueries; + occlusionQueries.resize(events.size()); driver->glGenQueries((GLsizei)occlusionQueries.size(), occlusionQueries.data()); driver->ReplayLog(0, events[0].eventId, eReplay_WithoutDraw); diff --git a/renderdoc/driver/gl/wrappers/gl_emulated.cpp b/renderdoc/driver/gl/wrappers/gl_emulated.cpp index 21817b830..e19d4aa9b 100644 --- a/renderdoc/driver/gl/wrappers/gl_emulated.cpp +++ b/renderdoc/driver/gl/wrappers/gl_emulated.cpp @@ -2478,7 +2478,8 @@ void APIENTRY _glGetProgramResourceiv(GLuint program, GLenum programInterface, G return; } - rdcarray properties(propCount); + rdcarray properties; + properties.resize(propCount); for(GLsizei i = 0; i < propCount; i++) properties[i] = ConvertProperty(props[i]); diff --git a/renderdoc/driver/ihv/intel/intel_gl_counters.cpp b/renderdoc/driver/ihv/intel/intel_gl_counters.cpp index a04ac56e2..7af6ca689 100644 --- a/renderdoc/driver/ihv/intel/intel_gl_counters.cpp +++ b/renderdoc/driver/ihv/intel/intel_gl_counters.cpp @@ -269,7 +269,8 @@ void IntelGlCounters::EndPass() { // Flush all of the pass' queries to ensure we can begin further samples // with a different pass. - rdcarray data(m_Queries[m_EnabledQueries[m_passIndex]].size); + rdcarray data; + data.resize(m_Queries[m_EnabledQueries[m_passIndex]].size); GLuint len; uint32_t nSamples = (uint32_t)m_glQueries.size() / (m_passIndex + 1); @@ -321,7 +322,8 @@ void IntelGlCounters::CopyData(void *dest, const IntelGlCounter &counter, uint32 uint32_t pass = CounterPass(counter); uint32_t queryHandle = m_glQueries[maxSampleIndex * pass + sample]; - rdcarray data(m_Queries[m_EnabledQueries[pass]].size); + rdcarray data; + data.resize(m_Queries[m_EnabledQueries[pass]].size); GLuint len; GL.glGetPerfQueryDataINTEL(queryHandle, 0, (GLsizei)data.size(), &data[0], &len); diff --git a/renderdoc/driver/shaders/spirv/spirv_editor.cpp b/renderdoc/driver/shaders/spirv/spirv_editor.cpp index 000640adb..b6a429554 100644 --- a/renderdoc/driver/shaders/spirv/spirv_editor.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_editor.cpp @@ -263,7 +263,8 @@ void Editor::AddExtension(const rdcstr &extension) // insert the extension instruction size_t sz = extension.size(); - rdcarray uintName((sz / 4) + 1); + rdcarray uintName; + uintName.resize((sz / 4) + 1); memcpy(&uintName[0], extension.c_str(), sz); Operation op(Op::Extension, uintName); @@ -311,7 +312,8 @@ Id Editor::ImportExtInst(const char *setname) Id ret = MakeId(); size_t sz = strlen(setname); - rdcarray uintName((sz / 4) + 1); + rdcarray uintName; + uintName.resize((sz / 4) + 1); memcpy(&uintName[0], setname, sz); uintName.insert(0, ret.value()); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 7d6509ac4..570bfa543 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1590,7 +1590,8 @@ VkResult WrappedVulkan::FilterDeviceExtensionProperties(VkPhysicalDevice physDev if(vkr != VK_SUCCESS) return vkr; - rdcarray exts(numExts); + rdcarray exts; + exts.resize(numExts); vkr = ObjDisp(physDev)->EnumerateDeviceExtensionProperties(Unwrap(physDev), pLayerName, &numExts, &exts[0]); @@ -1726,7 +1727,8 @@ VkResult WrappedVulkan::FilterInstanceExtensionProperties( if(vkr != VK_SUCCESS) return vkr; - rdcarray exts(numExts); + rdcarray exts; + exts.resize(numExts); vkr = pChain->CallDown(pLayerName, &numExts, &exts[0]); if(vkr != VK_SUCCESS) diff --git a/renderdoc/driver/vulkan/vk_pixelhistory.cpp b/renderdoc/driver/vulkan/vk_pixelhistory.cpp index fd3ec2525..ccb85fa3d 100644 --- a/renderdoc/driver/vulkan/vk_pixelhistory.cpp +++ b/renderdoc/driver/vulkan/vk_pixelhistory.cpp @@ -915,8 +915,10 @@ protected: // Copy color and input attachments, and ignore resolve attachments. // Since we are only using this renderpass to replay a single draw, we don't // need to do resolve operations. - rdcarray colorAttachments(sub.colorAttachments.size()); - rdcarray inputAttachments(sub.inputAttachments.size()); + rdcarray colorAttachments; + rdcarray inputAttachments; + colorAttachments.resize(sub.colorAttachments.size()); + inputAttachments.resize(sub.inputAttachments.size()); for(size_t i = 0; i < sub.colorAttachments.size(); i++) { @@ -936,7 +938,8 @@ protected: subpassDesc.colorAttachmentCount = (uint32_t)sub.colorAttachments.size(); subpassDesc.pColorAttachments = colorAttachments.data(); - rdcarray descs(rpInfo.attachments.size()); + rdcarray descs; + descs.resize(rpInfo.attachments.size()); for(uint32_t i = 0; i < rpInfo.attachments.size(); i++) { descs[i] = {}; @@ -1121,7 +1124,8 @@ protected: const VulkanCreationInfo::RenderPass::Subpass &sub = rpInfo.subpasses.front(); const VulkanCreationInfo::Framebuffer &fbInfo = m_pDriver->GetDebugManager()->GetFramebufferInfo(origFb); - rdcarray atts(fbInfo.attachments.size()); + rdcarray atts; + atts.resize(fbInfo.attachments.size()); for(uint32_t i = 0; i < fbInfo.attachments.size(); i++) { diff --git a/renderdoc/driver/vulkan/vk_postvs.cpp b/renderdoc/driver/vulkan/vk_postvs.cpp index 57cf33d8f..9b0237b1d 100644 --- a/renderdoc/driver/vulkan/vk_postvs.cpp +++ b/renderdoc/driver/vulkan/vk_postvs.cpp @@ -644,8 +644,10 @@ static void ConvertToMeshOutputCompute(const ShaderReflection &refl, rdcspv::Id vbuffersVariable, ibufferVariable; - rdcarray vbufferSpecConsts(MeshOutputBufferArraySize); - rdcarray vbufferVariables(MeshOutputBufferArraySize); + rdcarray vbufferSpecConsts; + rdcarray vbufferVariables; + vbufferSpecConsts.resize(MeshOutputBufferArraySize); + vbufferVariables.resize(MeshOutputBufferArraySize); rdcspv::Id ibufferSpecConst; rdcspv::Id outputSpecConst; @@ -2043,10 +2045,12 @@ void VulkanReplay::FetchVSOut(uint32_t eventId, VulkanRenderState &state) }; rdcarray attrInstDivisor; - rdcarray vbuffers(MeshOutputBufferArraySize); + rdcarray vbuffers; + vbuffers.resize(MeshOutputBufferArraySize); { - rdcarray descWrites(MeshOutputBufferArraySize); + rdcarray descWrites; + descWrites.resize(MeshOutputBufferArraySize); uint32_t numWrites = 0; RDCASSERT(state.vertexAttributes.size() <= MeshOutputBufferArraySize); @@ -2532,7 +2536,8 @@ void VulkanReplay::FetchVSOut(uint32_t eventId, VulkanRenderState &state) uint32_t baseOffset = (uint32_t)specData.size(); - rdcarray addresses(MeshOutputBufferArraySize + 2); + rdcarray addresses; + addresses.resize(MeshOutputBufferArraySize + 2); for(uint32_t i = 0; i <= MeshOutputBufferArraySize + 1; i++) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp index e70eb5e46..249d43123 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_cmd_funcs.cpp @@ -1708,7 +1708,8 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass(SerialiserType &ser, VkComman (const VkRenderPassAttachmentBeginInfo *)FindNextStruct( &RenderPassBegin, VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO); - rdcarray attachments(fbinfo.attachments.size()); + rdcarray attachments; + attachments.resize(fbinfo.attachments.size()); // set framebuffer attachments - by default from the ones used to create it, but if it is // imageless then look for the attachments in our pNext chain @@ -1852,7 +1853,8 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass(SerialiserType &ser, VkComman // imageless then look for the attachments in our pNext chain { VulkanCreationInfo::Framebuffer fbinfo = m_CreationInfo.m_Framebuffer[fb]; - rdcarray attachments(fbinfo.attachments.size()); + rdcarray attachments; + attachments.resize(fbinfo.attachments.size()); if(!fbinfo.imageless) { @@ -2367,7 +2369,8 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass2(SerialiserType &ser, (const VkRenderPassAttachmentBeginInfo *)FindNextStruct( &RenderPassBegin, VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO); - rdcarray attachments(fbinfo.attachments.size()); + rdcarray attachments; + attachments.resize(fbinfo.attachments.size()); // set framebuffer attachments - by default from the ones used to create it, but if it is // imageless then look for the attachments in our pNext chain @@ -2506,7 +2509,8 @@ bool WrappedVulkan::Serialise_vkCmdBeginRenderPass2(SerialiserType &ser, // imageless then look for the attachments in our pNext chain { VulkanCreationInfo::Framebuffer fbinfo = m_CreationInfo.m_Framebuffer[fb]; - rdcarray attachments(fbinfo.attachments.size()); + rdcarray attachments; + attachments.resize(fbinfo.attachments.size()); if(!fbinfo.imageless) { diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index eb700a43a..02dfc4538 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -761,7 +761,8 @@ VkResult WrappedVulkan::vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo uint32_t count = 0; ObjDisp(m_Instance)->EnumeratePhysicalDevices(Unwrap(m_Instance), &count, NULL); - rdcarray physDevs(count); + rdcarray physDevs; + physDevs.resize(count); ObjDisp(m_Instance)->EnumeratePhysicalDevices(Unwrap(m_Instance), &count, physDevs.data()); rdcarray exts; @@ -3452,14 +3453,16 @@ bool WrappedVulkan::Serialise_vkCreateDevice(SerialiserType &ser, VkPhysicalDevi } } - rdcarray layerArray(m_InitParams.Layers.size()); + rdcarray layerArray; + layerArray.resize(m_InitParams.Layers.size()); for(size_t i = 0; i < m_InitParams.Layers.size(); i++) layerArray[i] = m_InitParams.Layers[i].c_str(); createInfo.enabledLayerCount = 0; createInfo.ppEnabledLayerNames = NULL; - rdcarray extArray(Extensions.size()); + rdcarray extArray; + extArray.resize(Extensions.size()); for(size_t i = 0; i < Extensions.size(); i++) extArray[i] = Extensions[i].c_str(); diff --git a/renderdoc/os/posix/linux/linux_stringio.cpp b/renderdoc/os/posix/linux/linux_stringio.cpp index 56c5b0bd8..d71f27f84 100644 --- a/renderdoc/os/posix/linux/linux_stringio.cpp +++ b/renderdoc/os/posix/linux/linux_stringio.cpp @@ -753,7 +753,8 @@ rdcstr Wide2UTF8(const rdcwstr &s) // utf-8 characters can be max 4 bytes. size_t len = (s.length() + 1) * 4; - rdcarray charBuffer(len); + rdcarray charBuffer; + charBuffer.resize(len); size_t ret; @@ -797,7 +798,8 @@ rdcwstr UTF82Wide(const rdcstr &s) // input. size_t len = s.length() + 1; - rdcarray wcharBuffer(len); + rdcarray wcharBuffer; + wcharBuffer.resize(len); size_t ret; diff --git a/renderdoc/replay/entry_points.cpp b/renderdoc/replay/entry_points.cpp index 097d32978..d49fa7da0 100644 --- a/renderdoc/replay/entry_points.cpp +++ b/renderdoc/replay/entry_points.cpp @@ -968,7 +968,8 @@ extern "C" RENDERDOC_API int RENDERDOC_CC RENDERDOC_RunFunctionalTests(int pytho return 1; } - rdcarray wideArgs(args.size()); + rdcarray wideArgs; + wideArgs.resize(args.size()); for(size_t i = 0; i < args.size(); i++) wideArgs[i] = StringFormat::UTF82Wide(args[i]); @@ -986,7 +987,8 @@ extern "C" RENDERDOC_API int RENDERDOC_CC RENDERDOC_RunFunctionalTests(int pytho L"--in-process", }); - rdcarray wideArgStrings(wideArgs.size()); + rdcarray wideArgStrings; + wideArgStrings.resize(wideArgs.size()); for(size_t i = 0; i < wideArgs.size(); i++) wideArgStrings[i] = wideArgs[i].data();