From c23825292d685bcad65498186bbbc7cb1c2dafca Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 13 Feb 2020 16:53:06 +0000 Subject: [PATCH] Remove redundant instOffset/vertOffset parameters from DebugVertex() --- qrenderdoc/Windows/BufferViewer.cpp | 3 +-- renderdoc/api/replay/renderdoc_replay.h | 5 +---- renderdoc/core/image_viewer.cpp | 3 +-- renderdoc/core/replay_proxy.cpp | 13 +++++-------- renderdoc/core/replay_proxy.h | 2 +- renderdoc/driver/d3d11/d3d11_replay.h | 3 +-- renderdoc/driver/d3d11/d3d11_shaderdebug.cpp | 13 +++++++------ renderdoc/driver/d3d12/d3d12_replay.h | 3 +-- renderdoc/driver/d3d12/d3d12_shaderdebug.cpp | 2 +- renderdoc/driver/gl/gl_replay.cpp | 2 +- renderdoc/driver/gl/gl_replay.h | 3 +-- renderdoc/driver/vulkan/vk_replay.cpp | 2 +- renderdoc/driver/vulkan/vk_replay.h | 3 +-- renderdoc/replay/replay_controller.cpp | 6 ++---- renderdoc/replay/replay_controller.h | 3 +-- renderdoc/replay/replay_driver.h | 2 +- 16 files changed, 27 insertions(+), 41 deletions(-) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 8890e5ac2..b7654a001 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -3807,8 +3807,7 @@ void BufferViewer::debugVertex() ShaderDebugTrace *trace = NULL; m_Ctx.Replay().AsyncInvoke([this, &done, &trace, vertid, index](IReplayController *r) { - trace = r->DebugVertex(vertid, m_Config.curInstance, index, m_Ctx.CurDrawcall()->instanceOffset, - m_Ctx.CurDrawcall()->vertexOffset); + trace = r->DebugVertex(vertid, m_Config.curInstance, index); if(trace->debugger == NULL) { diff --git a/renderdoc/api/replay/renderdoc_replay.h b/renderdoc/api/replay/renderdoc_replay.h index bd994ffcc..e65b7db83 100644 --- a/renderdoc/api/replay/renderdoc_replay.h +++ b/renderdoc/api/replay/renderdoc_replay.h @@ -835,14 +835,11 @@ bucket when the pixel values are divided between ``minval`` and ``maxval``. :param int instid: The instance ID as a 0-based index up to the number of instances in the draw. :param int idx: The actual index used to look up vertex inputs, either from the vertex ID for non- indexed draws or drawn from the index buffer. This must have all drawcall offsets applied. -:param int instOffset: The value from :data:`DrawcallDescription.instanceOffset`. -:param int vertOffset: The value from :data:`DrawcallDescription.vertexOffset`. :return: The resulting trace resulting from debugging. Destroy with :meth:`FreeTrace`. :rtype: ShaderDebugTrace )"); - virtual ShaderDebugTrace *DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset) = 0; + virtual ShaderDebugTrace *DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx) = 0; DOCUMENT(R"(Retrieve a debugging trace from running a pixel shader. diff --git a/renderdoc/core/image_viewer.cpp b/renderdoc/core/image_viewer.cpp index e8234be34..aad215bef 100644 --- a/renderdoc/core/image_viewer.cpp +++ b/renderdoc/core/image_viewer.cpp @@ -257,8 +257,7 @@ public: { return rdcarray(); } - ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset) + ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx) { return new ShaderDebugTrace(); } diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index 336d2241e..30131ea05 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -1454,8 +1454,7 @@ rdcarray ReplayProxy::PixelHistory(rdcarray event template ShaderDebugTrace *ReplayProxy::Proxied_DebugVertex(ParamSerialiser ¶mser, ReturnSerialiser &retser, uint32_t eventId, - uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset) + uint32_t vertid, uint32_t instid, uint32_t idx) { const ReplayProxyPacket expectedPacket = eReplayProxy_DebugVertex; ReplayProxyPacket packet = eReplayProxy_DebugVertex; @@ -1467,15 +1466,13 @@ ShaderDebugTrace *ReplayProxy::Proxied_DebugVertex(ParamSerialiser ¶mser, SERIALISE_ELEMENT(vertid); SERIALISE_ELEMENT(instid); SERIALISE_ELEMENT(idx); - SERIALISE_ELEMENT(instOffset); - SERIALISE_ELEMENT(vertOffset); END_PARAMS(); } { REMOTE_EXECUTION(); if(paramser.IsReading() && !paramser.IsErrored() && !m_IsErrored) - ret = m_Remote->DebugVertex(eventId, vertid, instid, idx, instOffset, vertOffset); + ret = m_Remote->DebugVertex(eventId, vertid, instid, idx); else ret = new ShaderDebugTrace; } @@ -1486,9 +1483,9 @@ ShaderDebugTrace *ReplayProxy::Proxied_DebugVertex(ParamSerialiser ¶mser, } ShaderDebugTrace *ReplayProxy::DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) + uint32_t idx) { - PROXY_FUNCTION(DebugVertex, eventId, vertid, instid, idx, instOffset, vertOffset); + PROXY_FUNCTION(DebugVertex, eventId, vertid, instid, idx); } template @@ -2778,7 +2775,7 @@ bool ReplayProxy::Tick(int type) } case eReplayProxy_ReplaceResource: ReplaceResource(ResourceId(), ResourceId()); break; case eReplayProxy_RemoveReplacement: RemoveReplacement(ResourceId()); break; - case eReplayProxy_DebugVertex: DebugVertex(0, 0, 0, 0, 0, 0); break; + case eReplayProxy_DebugVertex: DebugVertex(0, 0, 0, 0); break; case eReplayProxy_DebugPixel: DebugPixel(0, 0, 0, 0, 0); break; case eReplayProxy_DebugThread: { diff --git a/renderdoc/core/replay_proxy.h b/renderdoc/core/replay_proxy.h index f0c19a8a8..5ac547402 100644 --- a/renderdoc/core/replay_proxy.h +++ b/renderdoc/core/replay_proxy.h @@ -523,7 +523,7 @@ public: ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); IMPLEMENT_FUNCTION_PROXIED(ShaderDebugTrace *, DebugVertex, uint32_t eventId, uint32_t vertid, - uint32_t instid, uint32_t idx, uint32_t instOffset, uint32_t vertOffset); + uint32_t instid, uint32_t idx); IMPLEMENT_FUNCTION_PROXIED(ShaderDebugTrace *, DebugPixel, uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); IMPLEMENT_FUNCTION_PROXIED(ShaderDebugTrace *, DebugThread, uint32_t eventId, diff --git a/renderdoc/driver/d3d11/d3d11_replay.h b/renderdoc/driver/d3d11/d3d11_replay.h index 659c72c4c..ea562825e 100644 --- a/renderdoc/driver/d3d11/d3d11_replay.h +++ b/renderdoc/driver/d3d11/d3d11_replay.h @@ -231,8 +231,7 @@ public: rdcarray PixelHistory(rdcarray events, ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); - ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset); + ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx); ShaderDebugTrace *DebugPixel(uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); ShaderDebugTrace *DebugThread(uint32_t eventId, const uint32_t groupid[3], diff --git a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp index b6591daf6..b1f3ed6da 100644 --- a/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp +++ b/renderdoc/driver/d3d11/d3d11_shaderdebug.cpp @@ -1770,7 +1770,7 @@ void AddCBuffersToGlobalState(const DXBCBytecode::Program &program, D3D11DebugMa } ShaderDebugTrace *D3D11Replay::DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) + uint32_t idx) { using namespace DXBCBytecode; using namespace DXBCDebug; @@ -1844,19 +1844,20 @@ ShaderDebugTrace *D3D11Replay::DebugVertex(uint32_t eventId, uint32_t vertid, ui UINT i = *it; if(rs->IA.VBs[i]) { - GetDebugManager()->GetBufferData(rs->IA.VBs[i], - rs->IA.Offsets[i] + rs->IA.Strides[i] * (vertOffset + idx), - rs->IA.Strides[i], vertData[i]); + GetDebugManager()->GetBufferData( + rs->IA.VBs[i], rs->IA.Offsets[i] + rs->IA.Strides[i] * (draw->vertexOffset + idx), + rs->IA.Strides[i], vertData[i]); for(UINT isr = 1; isr <= MaxStepRate; isr++) { GetDebugManager()->GetBufferData( - rs->IA.VBs[i], rs->IA.Offsets[i] + rs->IA.Strides[i] * (instOffset + (instid / isr)), + rs->IA.VBs[i], + rs->IA.Offsets[i] + rs->IA.Strides[i] * (draw->instanceOffset + (instid / isr)), rs->IA.Strides[i], instData[i * MaxStepRate + isr - 1]); } GetDebugManager()->GetBufferData(rs->IA.VBs[i], - rs->IA.Offsets[i] + rs->IA.Strides[i] * instOffset, + rs->IA.Offsets[i] + rs->IA.Strides[i] * draw->instanceOffset, rs->IA.Strides[i], staticData[i]); } } diff --git a/renderdoc/driver/d3d12/d3d12_replay.h b/renderdoc/driver/d3d12/d3d12_replay.h index 3acaa71f4..698c51191 100644 --- a/renderdoc/driver/d3d12/d3d12_replay.h +++ b/renderdoc/driver/d3d12/d3d12_replay.h @@ -186,8 +186,7 @@ public: rdcarray PixelHistory(rdcarray events, ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); - ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset); + ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx); ShaderDebugTrace *DebugPixel(uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); ShaderDebugTrace *DebugThread(uint32_t eventId, const uint32_t groupid[3], diff --git a/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp b/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp index 7e0978117..41abd8d1a 100644 --- a/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp +++ b/renderdoc/driver/d3d12/d3d12_shaderdebug.cpp @@ -1135,7 +1135,7 @@ void GatherConstantBuffers(WrappedID3D12Device *pDevice, const DXBCBytecode::Pro } ShaderDebugTrace *D3D12Replay::DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) + uint32_t idx) { RDCUNIMPLEMENTED("Vertex debugging not yet implemented for D3D12"); return new ShaderDebugTrace(); diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 503f09237..b0b1ce894 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -3455,7 +3455,7 @@ rdcarray GLReplay::PixelHistory(rdcarray events, } ShaderDebugTrace *GLReplay::DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) + uint32_t idx) { GLNOTIMP("DebugVertex"); return new ShaderDebugTrace(); diff --git a/renderdoc/driver/gl/gl_replay.h b/renderdoc/driver/gl/gl_replay.h index 6ee6d6e2d..2ec76fdfe 100644 --- a/renderdoc/driver/gl/gl_replay.h +++ b/renderdoc/driver/gl/gl_replay.h @@ -217,8 +217,7 @@ public: rdcarray PixelHistory(rdcarray events, ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); - ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset); + ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx); ShaderDebugTrace *DebugPixel(uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); ShaderDebugTrace *DebugThread(uint32_t eventId, const uint32_t groupid[3], diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index a7021ae5d..e4dd818f4 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -3871,7 +3871,7 @@ void VulkanReplay::RefreshDerivedReplacements() } ShaderDebugTrace *VulkanReplay::DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) + uint32_t idx) { VULKANNOTIMP("DebugVertex"); return new ShaderDebugTrace(); diff --git a/renderdoc/driver/vulkan/vk_replay.h b/renderdoc/driver/vulkan/vk_replay.h index d005255de..7277a6fea 100644 --- a/renderdoc/driver/vulkan/vk_replay.h +++ b/renderdoc/driver/vulkan/vk_replay.h @@ -367,8 +367,7 @@ public: rdcarray PixelHistory(rdcarray events, ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); - ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset); + ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, uint32_t idx); ShaderDebugTrace *DebugPixel(uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); ShaderDebugTrace *DebugThread(uint32_t eventId, const uint32_t groupid[3], diff --git a/renderdoc/replay/replay_controller.cpp b/renderdoc/replay/replay_controller.cpp index 2da06d9f2..308d50b48 100644 --- a/renderdoc/replay/replay_controller.cpp +++ b/renderdoc/replay/replay_controller.cpp @@ -1621,13 +1621,11 @@ rdcarray ReplayController::GetHistogram(ResourceId textureId, const Su return hist; } -ShaderDebugTrace *ReplayController::DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx, - uint32_t instOffset, uint32_t vertOffset) +ShaderDebugTrace *ReplayController::DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx) { CHECK_REPLAY_THREAD(); - ShaderDebugTrace *ret = - m_pDevice->DebugVertex(m_EventID, vertid, instid, idx, instOffset, vertOffset); + ShaderDebugTrace *ret = m_pDevice->DebugVertex(m_EventID, vertid, instid, idx); SetFrameEvent(m_EventID, true); diff --git a/renderdoc/replay/replay_controller.h b/renderdoc/replay/replay_controller.h index 12f404241..4f806d82e 100644 --- a/renderdoc/replay/replay_controller.h +++ b/renderdoc/replay/replay_controller.h @@ -185,8 +185,7 @@ public: float minval, float maxval, bool channels[4]); rdcarray PixelHistory(ResourceId target, uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast); - ShaderDebugTrace *DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx, uint32_t instOffset, - uint32_t vertOffset); + ShaderDebugTrace *DebugVertex(uint32_t vertid, uint32_t instid, uint32_t idx); ShaderDebugTrace *DebugPixel(uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive); ShaderDebugTrace *DebugThread(const uint32_t groupid[3], const uint32_t threadid[3]); rdcarray ContinueDebug(ShaderDebugger *debugger); diff --git a/renderdoc/replay/replay_driver.h b/renderdoc/replay/replay_driver.h index 5d844ff7e..54a5a85ff 100644 --- a/renderdoc/replay/replay_driver.h +++ b/renderdoc/replay/replay_driver.h @@ -180,7 +180,7 @@ public: uint32_t x, uint32_t y, const Subresource &sub, CompType typeCast) = 0; virtual ShaderDebugTrace *DebugVertex(uint32_t eventId, uint32_t vertid, uint32_t instid, - uint32_t idx, uint32_t instOffset, uint32_t vertOffset) = 0; + uint32_t idx) = 0; virtual ShaderDebugTrace *DebugPixel(uint32_t eventId, uint32_t x, uint32_t y, uint32_t sample, uint32_t primitive) = 0; virtual ShaderDebugTrace *DebugThread(uint32_t eventId, const uint32_t groupid[3],