mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Add pipeline state viewer and implement vulkan viewer
* Minus interactions with as-yet-unimplemented windows like buffer and shader viewers. * Also missing HTML export
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include "Windows/Dialogs/LiveCapture.h"
|
||||
#include "Windows/EventBrowser.h"
|
||||
#include "Windows/MainWindow.h"
|
||||
#include "Windows/PipelineState/PipelineStateViewer.h"
|
||||
#include "Windows/TextureViewer.h"
|
||||
#include "QRDUtils.h"
|
||||
|
||||
@@ -454,6 +455,18 @@ TextureViewer *CaptureContext::textureViewer()
|
||||
return m_TextureViewer;
|
||||
}
|
||||
|
||||
PipelineStateViewer *CaptureContext::pipelineViewer()
|
||||
{
|
||||
if(m_PipelineViewer)
|
||||
return m_PipelineViewer;
|
||||
|
||||
m_PipelineViewer = new PipelineStateViewer(this, m_MainWindow);
|
||||
m_PipelineViewer->setObjectName("pipelineViewer");
|
||||
m_PipelineViewer->setWindowIcon(*m_Icon);
|
||||
|
||||
return m_PipelineViewer;
|
||||
}
|
||||
|
||||
CaptureDialog *CaptureContext::captureDialog()
|
||||
{
|
||||
if(m_CaptureDialog)
|
||||
@@ -474,6 +487,31 @@ CaptureDialog *CaptureContext::captureDialog()
|
||||
return m_CaptureDialog;
|
||||
}
|
||||
|
||||
void CaptureContext::showEventBrowser()
|
||||
{
|
||||
m_MainWindow->showEventBrowser();
|
||||
}
|
||||
|
||||
void CaptureContext::showAPIInspector()
|
||||
{
|
||||
m_MainWindow->showAPIInspector();
|
||||
}
|
||||
|
||||
void CaptureContext::showTextureViewer()
|
||||
{
|
||||
m_MainWindow->showTextureViewer();
|
||||
}
|
||||
|
||||
void CaptureContext::showPipelineViewer()
|
||||
{
|
||||
m_MainWindow->showPipelineViewer();
|
||||
}
|
||||
|
||||
void CaptureContext::showCaptureDialog()
|
||||
{
|
||||
m_MainWindow->showCaptureDialog();
|
||||
}
|
||||
|
||||
QWidget *CaptureContext::createToolWindow(const QString &objectName)
|
||||
{
|
||||
if(objectName == "textureViewer")
|
||||
@@ -484,6 +522,10 @@ QWidget *CaptureContext::createToolWindow(const QString &objectName)
|
||||
{
|
||||
return eventBrowser();
|
||||
}
|
||||
else if(objectName == "pipelineViewer")
|
||||
{
|
||||
return pipelineViewer();
|
||||
}
|
||||
else if(objectName == "apiInspector")
|
||||
{
|
||||
return apiInspector();
|
||||
@@ -504,6 +546,10 @@ void CaptureContext::windowClosed(QWidget *window)
|
||||
m_TextureViewer = NULL;
|
||||
else if((QWidget *)m_CaptureDialog == window)
|
||||
m_CaptureDialog = NULL;
|
||||
else if((QWidget *)m_APIInspector == window)
|
||||
m_APIInspector = NULL;
|
||||
else if((QWidget *)m_PipelineViewer == window)
|
||||
m_PipelineViewer = NULL;
|
||||
else
|
||||
qCritical() << "Unrecognised window being closed: " << window;
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ struct ILogViewerForm
|
||||
class MainWindow;
|
||||
class EventBrowser;
|
||||
class APIInspector;
|
||||
class PipelineStateViewer;
|
||||
class TextureViewer;
|
||||
class CaptureDialog;
|
||||
class QProgressDialog;
|
||||
@@ -129,12 +130,20 @@ public:
|
||||
EventBrowser *eventBrowser();
|
||||
APIInspector *apiInspector();
|
||||
TextureViewer *textureViewer();
|
||||
PipelineStateViewer *pipelineViewer();
|
||||
CaptureDialog *captureDialog();
|
||||
|
||||
bool hasEventBrowser() { return m_EventBrowser != NULL; }
|
||||
bool hasAPIInspector() { return m_APIInspector != NULL; }
|
||||
bool hasTextureViewer() { return m_TextureViewer != NULL; }
|
||||
bool hasPipelineViewer() { return m_PipelineViewer != NULL; }
|
||||
bool hasCaptureDialog() { return m_CaptureDialog != NULL; }
|
||||
void showEventBrowser();
|
||||
void showAPIInspector();
|
||||
void showTextureViewer();
|
||||
void showPipelineViewer();
|
||||
void showCaptureDialog();
|
||||
|
||||
QWidget *createToolWindow(const QString &objectName);
|
||||
void windowClosed(QWidget *window);
|
||||
|
||||
@@ -202,5 +211,6 @@ private:
|
||||
EventBrowser *m_EventBrowser = NULL;
|
||||
APIInspector *m_APIInspector = NULL;
|
||||
TextureViewer *m_TextureViewer = NULL;
|
||||
PipelineStateViewer *m_PipelineViewer = NULL;
|
||||
CaptureDialog *m_CaptureDialog = NULL;
|
||||
};
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <QProgressDialog>
|
||||
#include "Code/CaptureContext.h"
|
||||
#include "Code/QRDUtils.h"
|
||||
#include "PipelineState/PipelineStateViewer.h"
|
||||
#include "Resources/resource.h"
|
||||
#include "Windows/Dialogs/AboutDialog.h"
|
||||
#include "Windows/Dialogs/CaptureDialog.h"
|
||||
@@ -147,6 +148,12 @@ MainWindow::MainWindow(CaptureContext *ctx) : QMainWindow(NULL), ui(new Ui::Main
|
||||
ToolWindowManager::AreaReference(ToolWindowManager::RightOf,
|
||||
ui->toolWindowManager->areaOf(eventBrowser), 0.75f));
|
||||
|
||||
PipelineStateViewer *pipe = m_Ctx->pipelineViewer();
|
||||
|
||||
ui->toolWindowManager->addToolWindow(
|
||||
pipe, ToolWindowManager::AreaReference(ToolWindowManager::AddTo,
|
||||
ui->toolWindowManager->areaOf(textureViewer)));
|
||||
|
||||
CaptureDialog *capDialog = m_Ctx->captureDialog();
|
||||
|
||||
ui->toolWindowManager->addToolWindow(
|
||||
@@ -696,6 +703,10 @@ ToolWindowManager::AreaReference MainWindow::mainToolArea()
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->textureViewer()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::AddTo,
|
||||
ui->toolWindowManager->areaOf(m_Ctx->textureViewer()));
|
||||
else if(m_Ctx->hasPipelineViewer() &&
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->pipelineViewer()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::AddTo,
|
||||
ui->toolWindowManager->areaOf(m_Ctx->pipelineViewer()));
|
||||
else if(m_Ctx->hasCaptureDialog() &&
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->captureDialog()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::AddTo,
|
||||
@@ -712,6 +723,10 @@ ToolWindowManager::AreaReference MainWindow::leftToolArea()
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->textureViewer()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::LeftOf,
|
||||
ui->toolWindowManager->areaOf(m_Ctx->textureViewer()));
|
||||
else if(m_Ctx->hasPipelineViewer() &&
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->pipelineViewer()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::LeftOf,
|
||||
ui->toolWindowManager->areaOf(m_Ctx->pipelineViewer()));
|
||||
else if(m_Ctx->hasCaptureDialog() &&
|
||||
ui->toolWindowManager->toolWindows().contains(m_Ctx->captureDialog()))
|
||||
return ToolWindowManager::AreaReference(ToolWindowManager::LeftOf,
|
||||
@@ -972,6 +987,16 @@ void MainWindow::on_action_Texture_Viewer_triggered()
|
||||
ui->toolWindowManager->addToolWindow(textureViewer, mainToolArea());
|
||||
}
|
||||
|
||||
void MainWindow::on_action_Pipeline_State_triggered()
|
||||
{
|
||||
PipelineStateViewer *pipelineViewer = m_Ctx->pipelineViewer();
|
||||
|
||||
if(ui->toolWindowManager->toolWindows().contains(pipelineViewer))
|
||||
ToolWindowManager::raiseToolWindow(pipelineViewer);
|
||||
else
|
||||
ui->toolWindowManager->addToolWindow(pipelineViewer, mainToolArea());
|
||||
}
|
||||
|
||||
void MainWindow::on_action_Capture_Log_triggered()
|
||||
{
|
||||
CaptureDialog *capDialog = m_Ctx->captureDialog();
|
||||
|
||||
@@ -71,6 +71,12 @@ public:
|
||||
void ShowLiveCapture(LiveCapture *live);
|
||||
void LiveCaptureClosed(LiveCapture *live);
|
||||
|
||||
void showEventBrowser() { on_action_Event_Browser_triggered(); }
|
||||
void showAPIInspector() { on_action_API_Inspector_triggered(); }
|
||||
void showMeshOutput() { on_action_Mesh_Output_triggered(); }
|
||||
void showTextureViewer() { on_action_Texture_Viewer_triggered(); }
|
||||
void showPipelineViewer() { on_action_Pipeline_State_triggered(); }
|
||||
void showCaptureDialog() { on_action_Capture_Log_triggered(); }
|
||||
private slots:
|
||||
// automatic slots
|
||||
void on_action_Exit_triggered();
|
||||
@@ -81,6 +87,7 @@ private slots:
|
||||
void on_action_API_Inspector_triggered();
|
||||
void on_action_Event_Browser_triggered();
|
||||
void on_action_Texture_Viewer_triggered();
|
||||
void on_action_Pipeline_State_triggered();
|
||||
void on_action_Capture_Log_triggered();
|
||||
void on_action_Inject_into_Process_triggered();
|
||||
void on_action_Resolve_Symbols_triggered();
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "D3D11PipelineStateViewer.h"
|
||||
#include "ui_D3D11PipelineStateViewer.h"
|
||||
|
||||
D3D11PipelineStateViewer::D3D11PipelineStateViewer(CaptureContext *ctx, QWidget *parent)
|
||||
: QFrame(parent), ui(new Ui::D3D11PipelineStateViewer), m_Ctx(ctx)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
D3D11PipelineStateViewer::~D3D11PipelineStateViewer()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void D3D11PipelineStateViewer::OnLogfileLoaded()
|
||||
{
|
||||
}
|
||||
|
||||
void D3D11PipelineStateViewer::OnLogfileClosed()
|
||||
{
|
||||
}
|
||||
|
||||
void D3D11PipelineStateViewer::OnEventSelected(uint32_t eventID)
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QFrame>
|
||||
#include "Code/CaptureContext.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class D3D11PipelineStateViewer;
|
||||
}
|
||||
|
||||
class D3D11PipelineStateViewer : public QFrame, public ILogViewerForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit D3D11PipelineStateViewer(CaptureContext *ctx, QWidget *parent = 0);
|
||||
~D3D11PipelineStateViewer();
|
||||
|
||||
void OnLogfileLoaded();
|
||||
void OnLogfileClosed();
|
||||
void OnEventSelected(uint32_t eventID);
|
||||
|
||||
private:
|
||||
Ui::D3D11PipelineStateViewer *ui;
|
||||
CaptureContext *m_Ctx;
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>D3D11PipelineStateViewer</class>
|
||||
<widget class="QFrame" name="D3D11PipelineStateViewer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>D3D11 - TODO</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,49 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "D3D12PipelineStateViewer.h"
|
||||
#include "ui_D3D12PipelineStateViewer.h"
|
||||
|
||||
D3D12PipelineStateViewer::D3D12PipelineStateViewer(CaptureContext *ctx, QWidget *parent)
|
||||
: QFrame(parent), ui(new Ui::D3D12PipelineStateViewer), m_Ctx(ctx)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
D3D12PipelineStateViewer::~D3D12PipelineStateViewer()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void D3D12PipelineStateViewer::OnLogfileLoaded()
|
||||
{
|
||||
}
|
||||
|
||||
void D3D12PipelineStateViewer::OnLogfileClosed()
|
||||
{
|
||||
}
|
||||
|
||||
void D3D12PipelineStateViewer::OnEventSelected(uint32_t eventID)
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QFrame>
|
||||
#include "Code/CaptureContext.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class D3D12PipelineStateViewer;
|
||||
}
|
||||
|
||||
class D3D12PipelineStateViewer : public QFrame, public ILogViewerForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit D3D12PipelineStateViewer(CaptureContext *ctx, QWidget *parent = 0);
|
||||
~D3D12PipelineStateViewer();
|
||||
|
||||
void OnLogfileLoaded();
|
||||
void OnLogfileClosed();
|
||||
void OnEventSelected(uint32_t eventID);
|
||||
|
||||
private:
|
||||
Ui::D3D12PipelineStateViewer *ui;
|
||||
CaptureContext *m_Ctx;
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>D3D12PipelineStateViewer</class>
|
||||
<widget class="QFrame" name="D3D12PipelineStateViewer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>D3D12 - TODO</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,49 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "GLPipelineStateViewer.h"
|
||||
#include "ui_GLPipelineStateViewer.h"
|
||||
|
||||
GLPipelineStateViewer::GLPipelineStateViewer(CaptureContext *ctx, QWidget *parent)
|
||||
: QFrame(parent), ui(new Ui::GLPipelineStateViewer), m_Ctx(ctx)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
}
|
||||
|
||||
GLPipelineStateViewer::~GLPipelineStateViewer()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void GLPipelineStateViewer::OnLogfileLoaded()
|
||||
{
|
||||
}
|
||||
|
||||
void GLPipelineStateViewer::OnLogfileClosed()
|
||||
{
|
||||
}
|
||||
|
||||
void GLPipelineStateViewer::OnEventSelected(uint32_t eventID)
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QFrame>
|
||||
#include "Code/CaptureContext.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class GLPipelineStateViewer;
|
||||
}
|
||||
|
||||
class GLPipelineStateViewer : public QFrame, public ILogViewerForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit GLPipelineStateViewer(CaptureContext *ctx, QWidget *parent = 0);
|
||||
~GLPipelineStateViewer();
|
||||
|
||||
void OnLogfileLoaded();
|
||||
void OnLogfileClosed();
|
||||
void OnEventSelected(uint32_t eventID);
|
||||
|
||||
private:
|
||||
Ui::GLPipelineStateViewer *ui;
|
||||
CaptureContext *m_Ctx;
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>GLPipelineStateViewer</class>
|
||||
<widget class="QFrame" name="GLPipelineStateViewer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>22</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OpenGL - TODO</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -0,0 +1,183 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "PipelineStateViewer.h"
|
||||
#include "D3D11PipelineStateViewer.h"
|
||||
#include "D3D12PipelineStateViewer.h"
|
||||
#include "GLPipelineStateViewer.h"
|
||||
#include "VulkanPipelineStateViewer.h"
|
||||
#include "ui_PipelineStateViewer.h"
|
||||
|
||||
PipelineStateViewer::PipelineStateViewer(CaptureContext *ctx, QWidget *parent)
|
||||
: QFrame(parent), ui(new Ui::PipelineStateViewer), m_Ctx(ctx)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
m_D3D11 = NULL;
|
||||
m_D3D12 = NULL;
|
||||
m_GL = NULL;
|
||||
m_Vulkan = NULL;
|
||||
|
||||
m_Current = NULL;
|
||||
|
||||
m_Ctx->AddLogViewer(this);
|
||||
|
||||
setToD3D11();
|
||||
}
|
||||
|
||||
PipelineStateViewer::~PipelineStateViewer()
|
||||
{
|
||||
reset();
|
||||
|
||||
m_Ctx->windowClosed(this);
|
||||
m_Ctx->RemoveLogViewer(this);
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::OnLogfileLoaded()
|
||||
{
|
||||
if(m_Ctx->APIProps().pipelineType == eGraphicsAPI_D3D11)
|
||||
setToD3D11();
|
||||
else if(m_Ctx->APIProps().pipelineType == eGraphicsAPI_D3D12)
|
||||
setToD3D12();
|
||||
else if(m_Ctx->APIProps().pipelineType == eGraphicsAPI_OpenGL)
|
||||
setToGL();
|
||||
else if(m_Ctx->APIProps().pipelineType == eGraphicsAPI_Vulkan)
|
||||
setToVulkan();
|
||||
|
||||
if(m_Current)
|
||||
m_Current->OnLogfileLoaded();
|
||||
}
|
||||
|
||||
void PipelineStateViewer::OnLogfileClosed()
|
||||
{
|
||||
if(m_Current)
|
||||
m_Current->OnLogfileClosed();
|
||||
}
|
||||
|
||||
void PipelineStateViewer::OnEventSelected(uint32_t eventID)
|
||||
{
|
||||
if(m_Current)
|
||||
m_Current->OnEventSelected(eventID);
|
||||
}
|
||||
|
||||
QVariant PipelineStateViewer::persistData()
|
||||
{
|
||||
QVariantMap state;
|
||||
|
||||
if(m_Current == m_D3D11)
|
||||
state["type"] = "D3D11";
|
||||
else if(m_Current == m_D3D12)
|
||||
state["type"] = "D3D12";
|
||||
else if(m_Current == m_GL)
|
||||
state["type"] = "GL";
|
||||
else if(m_Current == m_Vulkan)
|
||||
state["type"] = "Vulkan";
|
||||
else
|
||||
state["type"] = "";
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::setPersistData(const QVariant &persistData)
|
||||
{
|
||||
QString str = persistData.toMap()["type"].toString();
|
||||
|
||||
if(str == "D3D11")
|
||||
setToD3D11();
|
||||
else if(str == "D3D12")
|
||||
setToD3D12();
|
||||
else if(str == "GL")
|
||||
setToGL();
|
||||
else if(str == "Vulkan")
|
||||
setToVulkan();
|
||||
}
|
||||
|
||||
void PipelineStateViewer::reset()
|
||||
{
|
||||
delete m_D3D11;
|
||||
delete m_D3D12;
|
||||
delete m_GL;
|
||||
delete m_Vulkan;
|
||||
|
||||
m_D3D11 = NULL;
|
||||
m_D3D12 = NULL;
|
||||
m_GL = NULL;
|
||||
m_Vulkan = NULL;
|
||||
|
||||
m_Current = NULL;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::setToD3D11()
|
||||
{
|
||||
if(m_D3D11)
|
||||
return;
|
||||
|
||||
reset();
|
||||
|
||||
m_D3D11 = new D3D11PipelineStateViewer(m_Ctx, this);
|
||||
ui->layout->addWidget(m_D3D11);
|
||||
m_Current = m_D3D11;
|
||||
m_Ctx->CurPipelineState.DefaultType = eGraphicsAPI_D3D11;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::setToD3D12()
|
||||
{
|
||||
if(m_D3D12)
|
||||
return;
|
||||
|
||||
reset();
|
||||
|
||||
m_D3D12 = new D3D12PipelineStateViewer(m_Ctx, this);
|
||||
ui->layout->addWidget(m_D3D12);
|
||||
m_Current = m_D3D12;
|
||||
m_Ctx->CurPipelineState.DefaultType = eGraphicsAPI_D3D12;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::setToGL()
|
||||
{
|
||||
if(m_GL)
|
||||
return;
|
||||
|
||||
reset();
|
||||
|
||||
m_GL = new GLPipelineStateViewer(m_Ctx, this);
|
||||
ui->layout->addWidget(m_GL);
|
||||
m_Current = m_GL;
|
||||
m_Ctx->CurPipelineState.DefaultType = eGraphicsAPI_OpenGL;
|
||||
}
|
||||
|
||||
void PipelineStateViewer::setToVulkan()
|
||||
{
|
||||
if(m_Vulkan)
|
||||
return;
|
||||
|
||||
reset();
|
||||
|
||||
m_Vulkan = new VulkanPipelineStateViewer(m_Ctx, this);
|
||||
ui->layout->addWidget(m_Vulkan);
|
||||
m_Current = m_Vulkan;
|
||||
m_Ctx->CurPipelineState.DefaultType = eGraphicsAPI_Vulkan;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QFrame>
|
||||
#include "Code/CaptureContext.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class PipelineStateViewer;
|
||||
}
|
||||
|
||||
class D3D11PipelineStateViewer;
|
||||
class D3D12PipelineStateViewer;
|
||||
class GLPipelineStateViewer;
|
||||
class VulkanPipelineStateViewer;
|
||||
|
||||
class PipelineStateViewer : public QFrame, public ILogViewerForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QVariant persistData READ persistData WRITE setPersistData DESIGNABLE false SCRIPTABLE false)
|
||||
|
||||
public:
|
||||
explicit PipelineStateViewer(CaptureContext *ctx, QWidget *parent = 0);
|
||||
~PipelineStateViewer();
|
||||
|
||||
void OnLogfileLoaded();
|
||||
void OnLogfileClosed();
|
||||
void OnEventSelected(uint32_t eventID);
|
||||
|
||||
QVariant persistData();
|
||||
void setPersistData(const QVariant &persistData);
|
||||
|
||||
private:
|
||||
Ui::PipelineStateViewer *ui;
|
||||
CaptureContext *m_Ctx;
|
||||
|
||||
void setToD3D11();
|
||||
void setToD3D12();
|
||||
void setToGL();
|
||||
void setToVulkan();
|
||||
void reset();
|
||||
|
||||
D3D11PipelineStateViewer *m_D3D11;
|
||||
D3D12PipelineStateViewer *m_D3D12;
|
||||
GLPipelineStateViewer *m_GL;
|
||||
VulkanPipelineStateViewer *m_Vulkan;
|
||||
ILogViewerForm *m_Current;
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>PipelineStateViewer</class>
|
||||
<widget class="QFrame" name="PipelineStateViewer">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Pipeline State</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="layout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,120 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QFrame>
|
||||
#include "Code/CaptureContext.h"
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class VulkanPipelineStateViewer;
|
||||
}
|
||||
|
||||
class RDTreeWidget;
|
||||
class QTreeWidgetItem;
|
||||
|
||||
struct SamplerData
|
||||
{
|
||||
SamplerData() : node(NULL) {}
|
||||
QList<QTreeWidgetItem *> images;
|
||||
QTreeWidgetItem *node;
|
||||
};
|
||||
|
||||
class VulkanPipelineStateViewer : public QFrame, public ILogViewerForm
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit VulkanPipelineStateViewer(CaptureContext *ctx, QWidget *parent = 0);
|
||||
~VulkanPipelineStateViewer();
|
||||
|
||||
void OnLogfileLoaded();
|
||||
void OnLogfileClosed();
|
||||
void OnEventSelected(uint32_t eventID);
|
||||
|
||||
private slots:
|
||||
// automatic slots
|
||||
void on_showDisabled_toggled(bool checked);
|
||||
void on_showEmpty_toggled(bool checked);
|
||||
void on_exportHTML_clicked();
|
||||
void on_meshView_clicked();
|
||||
void on_viAttrs_itemActivated(QTreeWidgetItem *item, int column);
|
||||
void on_viBuffers_itemActivated(QTreeWidgetItem *item, int column);
|
||||
void on_viAttrs_mouseMove(QMouseEvent *event);
|
||||
void on_viBuffers_mouseMove(QMouseEvent *event);
|
||||
|
||||
// manual slots
|
||||
void shaderView_clicked();
|
||||
void shaderEdit_clicked();
|
||||
void shaderSave_clicked();
|
||||
void resource_itemActivated(QTreeWidgetItem *item, int column);
|
||||
void vertex_leave(QEvent *e);
|
||||
|
||||
private:
|
||||
Ui::VulkanPipelineStateViewer *ui;
|
||||
CaptureContext *m_Ctx;
|
||||
|
||||
QVariantList makeSampler(
|
||||
const QString &bindset, const QString &slotname,
|
||||
const VulkanPipelineState::Pipeline::DescriptorSet::DescriptorBinding::BindingElement &descriptor);
|
||||
void addResourceRow(ShaderReflection *shaderDetails, const VulkanPipelineState::ShaderStage &stage,
|
||||
int bindset, int bind, const VulkanPipelineState::Pipeline &pipe,
|
||||
RDTreeWidget *resources, QMap<ResourceId, SamplerData> &samplers);
|
||||
void addConstantBlockRow(ShaderReflection *shaderDetails,
|
||||
const VulkanPipelineState::ShaderStage &stage, int bindset, int bind,
|
||||
const VulkanPipelineState::Pipeline &pipe, RDTreeWidget *ubos);
|
||||
|
||||
void setShaderState(const VulkanPipelineState::ShaderStage &stage,
|
||||
const VulkanPipelineState::Pipeline &pipe, QLabel *shader, RDTreeWidget *res,
|
||||
RDTreeWidget *ubo);
|
||||
void clearShaderState(QLabel *shader, RDTreeWidget *res, RDTreeWidget *ubo);
|
||||
void setState();
|
||||
void clearState();
|
||||
|
||||
void setInactiveRow(QTreeWidgetItem *node);
|
||||
void setEmptyRow(QTreeWidgetItem *node);
|
||||
void highlightIABind(int slot);
|
||||
|
||||
QString formatMembers(int indent, const QString &nameprefix,
|
||||
const rdctype::array<ShaderConstant> &vars);
|
||||
const VulkanPipelineState::ShaderStage *stageForSender(QWidget *widget);
|
||||
|
||||
template <typename viewType>
|
||||
void setViewDetails(QTreeWidgetItem *node, const viewType &view, FetchTexture *tex);
|
||||
|
||||
template <typename viewType>
|
||||
void setViewDetails(QTreeWidgetItem *node, const viewType &view, FetchBuffer *buf);
|
||||
|
||||
QTreeWidgetItem *makeNode(const std::initializer_list<QVariant> &values);
|
||||
QTreeWidgetItem *makeNode(const QVariantList &values);
|
||||
bool showNode(bool usedSlot, bool filledSlot);
|
||||
|
||||
// keep track of the VB nodes (we want to be able to highlight them easily on hover)
|
||||
QList<QTreeWidgetItem *> m_VBNodes;
|
||||
QList<QTreeWidgetItem *> m_BindNodes;
|
||||
|
||||
// from an combined image to its sampler (since we de-duplicate)
|
||||
QMap<QTreeWidgetItem *, QTreeWidgetItem *> m_CombinedImageSamplers;
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
@@ -112,6 +112,11 @@ SOURCES += 3rdparty/toolwindowmanager/ToolWindowManager.cpp \
|
||||
Windows/Dialogs/LiveCapture.cpp \
|
||||
Widgets/Extended/RDListWidget.cpp \
|
||||
Windows/APIInspector.cpp \
|
||||
Windows/PipelineState/PipelineStateViewer.cpp \
|
||||
Windows/PipelineState/VulkanPipelineStateViewer.cpp \
|
||||
Windows/PipelineState/D3D11PipelineStateViewer.cpp \
|
||||
Windows/PipelineState/D3D12PipelineStateViewer.cpp \
|
||||
Windows/PipelineState/GLPipelineStateViewer.cpp \
|
||||
Widgets/Extended/RDTreeWidget.cpp
|
||||
|
||||
HEADERS += 3rdparty/toolwindowmanager/ToolWindowManager.h \
|
||||
@@ -142,6 +147,11 @@ HEADERS += 3rdparty/toolwindowmanager/ToolWindowManager.h \
|
||||
Windows/Dialogs/LiveCapture.h \
|
||||
Widgets/Extended/RDListWidget.h \
|
||||
Windows/APIInspector.h \
|
||||
Windows/PipelineState/PipelineStateViewer.h \
|
||||
Windows/PipelineState/VulkanPipelineStateViewer.h \
|
||||
Windows/PipelineState/D3D11PipelineStateViewer.h \
|
||||
Windows/PipelineState/D3D12PipelineStateViewer.h \
|
||||
Windows/PipelineState/GLPipelineStateViewer.h \
|
||||
Widgets/Extended/RDTreeWidget.h
|
||||
|
||||
FORMS += Windows/Dialogs/AboutDialog.ui \
|
||||
@@ -153,7 +163,12 @@ FORMS += Windows/Dialogs/AboutDialog.ui \
|
||||
Windows/Dialogs/TextureSaveDialog.ui \
|
||||
Windows/Dialogs/CaptureDialog.ui \
|
||||
Windows/Dialogs/LiveCapture.ui \
|
||||
Windows/APIInspector.ui
|
||||
Windows/APIInspector.ui \
|
||||
Windows/PipelineState/PipelineStateViewer.ui \
|
||||
Windows/PipelineState/VulkanPipelineStateViewer.ui \
|
||||
Windows/PipelineState/D3D11PipelineStateViewer.ui \
|
||||
Windows/PipelineState/D3D12PipelineStateViewer.ui \
|
||||
Windows/PipelineState/GLPipelineStateViewer.ui
|
||||
|
||||
RESOURCES += \
|
||||
resources.qrc
|
||||
|
||||
@@ -288,8 +288,12 @@
|
||||
<ClCompile Include="generated\moc_APIInspector.cpp" />
|
||||
<ClCompile Include="generated\moc_CaptureDialog.cpp" />
|
||||
<ClCompile Include="generated\moc_CustomPaintWidget.cpp" />
|
||||
<ClCompile Include="generated\moc_D3D11PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="generated\moc_D3D12PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="generated\moc_EventBrowser.cpp" />
|
||||
<ClCompile Include="generated\moc_GLPipelineStateViewer.cpp" />
|
||||
<ClCompile Include="generated\moc_LiveCapture.cpp" />
|
||||
<ClCompile Include="generated\moc_PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="generated\moc_QRDUtils.cpp" />
|
||||
<ClCompile Include="generated\moc_RangeHistogram.cpp" />
|
||||
<ClCompile Include="generated\moc_RDDoubleSpinBox.cpp" />
|
||||
@@ -307,6 +311,7 @@
|
||||
<ClCompile Include="generated\moc_ToolWindowManager.cpp" />
|
||||
<ClCompile Include="generated\moc_ToolWindowManagerArea.cpp" />
|
||||
<ClCompile Include="generated\moc_ToolWindowManagerWrapper.cpp" />
|
||||
<ClCompile Include="generated\moc_VulkanPipelineStateViewer.cpp" />
|
||||
<ClCompile Include="generated\qrc_resources.cpp" />
|
||||
<ClCompile Include="Widgets\Extended\RDListWidget.cpp" />
|
||||
<ClCompile Include="Widgets\Extended\RDTreeWidget.cpp" />
|
||||
@@ -331,6 +336,11 @@
|
||||
<ClCompile Include="Widgets\Extended\RDLineEdit.cpp" />
|
||||
<ClCompile Include="Windows\MainWindow.cpp" />
|
||||
<ClCompile Include="Code\RenderManager.cpp" />
|
||||
<ClCompile Include="Windows\PipelineState\D3D11PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="Windows\PipelineState\D3D12PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="Windows\PipelineState\GLPipelineStateViewer.cpp" />
|
||||
<ClCompile Include="Windows\PipelineState\PipelineStateViewer.cpp" />
|
||||
<ClCompile Include="Windows\PipelineState\VulkanPipelineStateViewer.cpp" />
|
||||
<ClCompile Include="Windows\TextureViewer.cpp" />
|
||||
<ClCompile Include="3rdparty\toolwindowmanager\ToolWindowManager.cpp">
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
@@ -351,13 +361,18 @@
|
||||
<ClInclude Include="generated\ui_AboutDialog.h" />
|
||||
<ClInclude Include="generated\ui_APIInspector.h" />
|
||||
<ClInclude Include="generated\ui_CaptureDialog.h" />
|
||||
<ClInclude Include="generated\ui_D3D11PipelineStateViewer.h" />
|
||||
<ClInclude Include="generated\ui_D3D12PipelineStateViewer.h" />
|
||||
<ClInclude Include="generated\ui_EventBrowser.h" />
|
||||
<ClInclude Include="generated\ui_GLPipelineStateViewer.h" />
|
||||
<ClInclude Include="generated\ui_LiveCapture.h" />
|
||||
<ClInclude Include="generated\ui_MainWindow.h" />
|
||||
<ClInclude Include="generated\ui_PipelineStateViewer.h" />
|
||||
<ClInclude Include="generated\ui_ResourcePreview.h" />
|
||||
<ClInclude Include="generated\ui_TextureSaveDialog.h" />
|
||||
<ClInclude Include="generated\ui_TextureViewer.h" />
|
||||
<ClInclude Include="generated\ui_ThumbnailStrip.h" />
|
||||
<ClInclude Include="generated\ui_VulkanPipelineStateViewer.h" />
|
||||
<ClInclude Include="Resources\resource.h" />
|
||||
<ClInclude Include="Widgets\Extended\RDListWidget.h" />
|
||||
<ClInclude Include="Widgets\Extended\RDTreeWidget.h" />
|
||||
@@ -380,6 +395,11 @@
|
||||
<ClInclude Include="Widgets\Extended\RDLineEdit.h" />
|
||||
<ClInclude Include="Windows\MainWindow.h" />
|
||||
<ClInclude Include="Code\RenderManager.h" />
|
||||
<ClInclude Include="Windows\PipelineState\D3D11PipelineStateViewer.h" />
|
||||
<ClInclude Include="Windows\PipelineState\D3D12PipelineStateViewer.h" />
|
||||
<ClInclude Include="Windows\PipelineState\GLPipelineStateViewer.h" />
|
||||
<ClInclude Include="Windows\PipelineState\PipelineStateViewer.h" />
|
||||
<ClInclude Include="Windows\PipelineState\VulkanPipelineStateViewer.h" />
|
||||
<ClInclude Include="Windows\TextureViewer.h" />
|
||||
<ClInclude Include="3rdparty\toolwindowmanager\ToolWindowManager.h" />
|
||||
<ClInclude Include="3rdparty\toolwindowmanager\ToolWindowManagerArea.h" />
|
||||
@@ -395,6 +415,11 @@
|
||||
<None Include="Windows\Dialogs\TextureSaveDialog.ui" />
|
||||
<None Include="Windows\EventBrowser.ui" />
|
||||
<None Include="Windows\MainWindow.ui" />
|
||||
<None Include="Windows\PipelineState\D3D11PipelineStateViewer.ui" />
|
||||
<None Include="Windows\PipelineState\D3D12PipelineStateViewer.ui" />
|
||||
<None Include="Windows\PipelineState\GLPipelineStateViewer.ui" />
|
||||
<None Include="Windows\PipelineState\PipelineStateViewer.ui" />
|
||||
<None Include="Windows\PipelineState\VulkanPipelineStateViewer.ui" />
|
||||
<None Include="Windows\TextureViewer.ui" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
<Filter Include="Widgets\Extended">
|
||||
<UniqueIdentifier>{42a491e9-4e18-4220-8de2-e07b7cde26bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Windows\PipelineState">
|
||||
<UniqueIdentifier>{7ba076e7-3417-4e91-be51-9e7f17a19c24}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="generated\moc_EventBrowser.cpp">
|
||||
@@ -199,6 +202,36 @@
|
||||
<ClCompile Include="Windows\APIInspector.cpp">
|
||||
<Filter>Windows</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="generated\moc_D3D11PipelineStateViewer.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="generated\moc_D3D12PipelineStateViewer.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="generated\moc_GLPipelineStateViewer.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="generated\moc_PipelineStateViewer.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="generated\moc_VulkanPipelineStateViewer.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Windows\PipelineState\D3D11PipelineStateViewer.cpp">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Windows\PipelineState\D3D12PipelineStateViewer.cpp">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Windows\PipelineState\GLPipelineStateViewer.cpp">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Windows\PipelineState\PipelineStateViewer.cpp">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Windows\PipelineState\VulkanPipelineStateViewer.cpp">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Widgets\Extended\RDTreeWidget.cpp">
|
||||
<Filter>Widgets\Extended</Filter>
|
||||
</ClCompile>
|
||||
@@ -312,6 +345,36 @@
|
||||
<ClInclude Include="Windows\APIInspector.h">
|
||||
<Filter>Windows</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated\ui_D3D11PipelineStateViewer.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated\ui_D3D12PipelineStateViewer.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated\ui_GLPipelineStateViewer.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated\ui_PipelineStateViewer.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated\ui_VulkanPipelineStateViewer.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Windows\PipelineState\D3D11PipelineStateViewer.h">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Windows\PipelineState\D3D12PipelineStateViewer.h">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Windows\PipelineState\GLPipelineStateViewer.h">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Windows\PipelineState\PipelineStateViewer.h">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Windows\PipelineState\VulkanPipelineStateViewer.h">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Widgets\Extended\RDTreeWidget.h">
|
||||
<Filter>Widgets\Extended</Filter>
|
||||
</ClInclude>
|
||||
@@ -518,6 +581,21 @@
|
||||
<None Include="Windows\APIInspector.ui">
|
||||
<Filter>Windows</Filter>
|
||||
</None>
|
||||
<None Include="Windows\PipelineState\D3D11PipelineStateViewer.ui">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</None>
|
||||
<None Include="Windows\PipelineState\D3D12PipelineStateViewer.ui">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</None>
|
||||
<None Include="Windows\PipelineState\GLPipelineStateViewer.ui">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</None>
|
||||
<None Include="Windows\PipelineState\PipelineStateViewer.ui">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</None>
|
||||
<None Include="Windows\PipelineState\VulkanPipelineStateViewer.ui">
|
||||
<Filter>Windows\PipelineState</Filter>
|
||||
</None>
|
||||
<None Include="Resources\action_hover.png">
|
||||
<Filter>Resources\Files</Filter>
|
||||
</None>
|
||||
|
||||
Reference in New Issue
Block a user