Allocate a general purpose GPU-side debug tracing buffer

Can be used for checkpoints, etc.
This commit is contained in:
Billy Laws 2023-02-04 20:57:44 +00:00
parent c36b8e843e
commit c15b89975b
2 changed files with 5 additions and 1 deletions

View File

@ -402,7 +402,8 @@ namespace skyline::gpu {
descriptor(*this), descriptor(*this),
helperShaders(*this, state.os->assetFileSystem), helperShaders(*this, state.os->assetFileSystem),
renderPassCache(*this), renderPassCache(*this),
framebufferCache(*this) {} framebufferCache(*this),
debugTracingBuffer(memory.AllocateBuffer(DebugTracingBufferSize)) {}
void GPU::Initialise() { void GPU::Initialise() {
std::string titleId{state.loader->nacp->GetSaveDataOwnerId()}; std::string titleId{state.loader->nacp->GetSaveDataOwnerId()};

View File

@ -68,6 +68,9 @@ namespace skyline::gpu {
std::optional<interconnect::maxwell3d::PipelineManager> graphicsPipelineManager; std::optional<interconnect::maxwell3d::PipelineManager> graphicsPipelineManager;
interconnect::kepler_compute::PipelineManager computePipelineManager; interconnect::kepler_compute::PipelineManager computePipelineManager;
static constexpr size_t DebugTracingBufferSize{0x80000}; //!< 512KiB
memory::Buffer debugTracingBuffer; //!< General use buffer for debug tracing, first 4 bytes are allocated for checkpoints
GPU(const DeviceState &state); GPU(const DeviceState &state);
/** /**