mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-20 22:41:36 +00:00
Add code to display buffer viewer to D3D12/GL/Vulkan pipeline views
This commit is contained in:
@@ -1730,10 +1730,16 @@ void D3D12PipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, int
|
||||
{
|
||||
if(tex->resType == eResType_Buffer)
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(false, 0, ulong.MaxValue, tex.ID);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewTexture(0, 0, tex->ID);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1900,10 +1906,16 @@ void D3D12PipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, int
|
||||
}
|
||||
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, buf.size, buf.ID, format);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(offs, size, view.res.Resource, format);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1925,12 +1937,18 @@ void D3D12PipelineStateViewer::cbuffer_itemActivated(QTreeWidgetItem *item, int
|
||||
if(cb.idx == ~0U)
|
||||
{
|
||||
// unused cbuffer, open regular buffer viewer
|
||||
// TODO Buffer Viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
// var buf = stage.Spaces[tag.space].ConstantBuffers[tag.reg];
|
||||
// viewer.ViewRawBuffer(true, buf.Offset, buf.ByteSize, buf.Buffer);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
const D3D12PipelineState::CBuffer &buf = stage->Spaces[cb.space].ConstantBuffers[cb.reg];
|
||||
|
||||
viewer->ViewBuffer(buf.Offset, buf.ByteSize, buf.Buffer);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -1968,10 +1986,16 @@ void D3D12PipelineStateViewer::on_iaBuffers_itemActivated(QTreeWidgetItem *item,
|
||||
|
||||
if(buf.id != ResourceId())
|
||||
{
|
||||
// TODO Buffer Viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, ulong.MaxValue, buf.id);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(buf.offset, UINT64_MAX, buf.id);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1968,10 +1968,16 @@ void GLPipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, int co
|
||||
{
|
||||
if(tex->resType == eResType_Buffer)
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(false, 0, ulong.MaxValue, tex.ID);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewTexture(0, 0, tex->ID);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2029,10 +2035,16 @@ void GLPipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, int co
|
||||
|
||||
if(buf.ID != ResourceId())
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, buf.size, buf.ID, format);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(buf.offset, buf.size, buf.ID, format);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2084,10 +2096,16 @@ void GLPipelineStateViewer::on_viBuffers_itemActivated(QTreeWidgetItem *item, in
|
||||
|
||||
if(buf.id != ResourceId())
|
||||
{
|
||||
// TODO Buffer Viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, ulong.MaxValue, buf.id);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(buf.offset, UINT64_MAX, buf.id);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2059,10 +2059,16 @@ void VulkanPipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, in
|
||||
{
|
||||
if(tex->resType == eResType_Buffer)
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(false, 0, ulong.MaxValue, tex.ID);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewTexture(0, 0, tex->ID);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2122,10 +2128,16 @@ void VulkanPipelineStateViewer::resource_itemActivated(QTreeWidgetItem *item, in
|
||||
|
||||
if(buf.ID != ResourceId())
|
||||
{
|
||||
// TODO Buffer viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, buf.size, buf.ID, format);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(buf.offset, buf.size, buf.ID, format);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2178,10 +2190,16 @@ void VulkanPipelineStateViewer::on_viBuffers_itemActivated(QTreeWidgetItem *item
|
||||
|
||||
if(buf.id != ResourceId())
|
||||
{
|
||||
// TODO Buffer Viewer
|
||||
// var viewer = new BufferViewer(m_Core, false);
|
||||
// viewer.ViewRawBuffer(true, buf.offset, ulong.MaxValue, buf.id);
|
||||
// viewer.Show(m_DockContent.DockPanel);
|
||||
BufferViewer *viewer = new BufferViewer(m_Ctx, false, m_Ctx->mainWindow());
|
||||
|
||||
viewer->ViewBuffer(buf.offset, UINT64_MAX, buf.id);
|
||||
|
||||
m_Ctx->setupDockWindow(viewer);
|
||||
|
||||
ToolWindowManager *manager = ToolWindowManager::managerOf(this);
|
||||
|
||||
ToolWindowManager::AreaReference ref(ToolWindowManager::AddTo, manager->areaOf(this));
|
||||
manager->addToolWindow(viewer, ref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user