[GPU] Trace dump: Do PIX/RenderDoc capture if attached
This commit is contained in:
@@ -12,6 +12,8 @@
|
||||
#include "xenia/gpu/trace_dump.h"
|
||||
#include "xenia/gpu/vulkan/vulkan_command_processor.h"
|
||||
#include "xenia/gpu/vulkan/vulkan_graphics_system.h"
|
||||
#include "xenia/ui/vulkan/vulkan_device.h"
|
||||
#include "xenia/ui/vulkan/vulkan_provider.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
@@ -24,6 +26,24 @@ class VulkanTraceDump : public TraceDump {
|
||||
std::unique_ptr<gpu::GraphicsSystem> CreateGraphicsSystem() override {
|
||||
return std::unique_ptr<gpu::GraphicsSystem>(new VulkanGraphicsSystem());
|
||||
}
|
||||
|
||||
void BeginHostCapture() override {
|
||||
auto device = static_cast<const ui::vulkan::VulkanProvider*>(
|
||||
graphics_system_->provider())
|
||||
->device();
|
||||
if (device->is_renderdoc_attached()) {
|
||||
device->BeginRenderDocFrameCapture();
|
||||
}
|
||||
}
|
||||
|
||||
void EndHostCapture() override {
|
||||
auto device = static_cast<const ui::vulkan::VulkanProvider*>(
|
||||
graphics_system_->provider())
|
||||
->device();
|
||||
if (device->is_renderdoc_attached()) {
|
||||
device->EndRenderDocFrameCapture();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
int trace_dump_main(const std::vector<std::wstring>& args) {
|
||||
|
||||
Reference in New Issue
Block a user