[D3D12] Resolve fetch memory read tracing
This commit is contained in:
parent
c057b5a032
commit
f75d927cc5
|
@ -743,7 +743,7 @@ bool D3D12CommandProcessor::SetupContext() {
|
|||
}
|
||||
|
||||
render_target_cache_ =
|
||||
std::make_unique<RenderTargetCache>(this, register_file_);
|
||||
std::make_unique<RenderTargetCache>(this, register_file_, &trace_writer_);
|
||||
if (!render_target_cache_->Initialize(texture_cache_.get())) {
|
||||
XELOGE("Failed to initialize the render target cache");
|
||||
return false;
|
||||
|
|
|
@ -99,8 +99,11 @@ const RenderTargetCache::EDRAMLoadStoreModeInfo
|
|||
};
|
||||
|
||||
RenderTargetCache::RenderTargetCache(D3D12CommandProcessor* command_processor,
|
||||
RegisterFile* register_file)
|
||||
: command_processor_(command_processor), register_file_(register_file) {}
|
||||
RegisterFile* register_file,
|
||||
TraceWriter* trace_writer)
|
||||
: command_processor_(command_processor),
|
||||
register_file_(register_file),
|
||||
trace_writer_(trace_writer) {}
|
||||
|
||||
RenderTargetCache::~RenderTargetCache() { Shutdown(); }
|
||||
|
||||
|
@ -1037,6 +1040,7 @@ bool RenderTargetCache::Resolve(SharedMemory* shared_memory,
|
|||
assert_true(fetch.type == 3);
|
||||
assert_true(fetch.endian == Endian::k8in32);
|
||||
assert_true(fetch.size == 6);
|
||||
trace_writer_->WriteMemoryRead(fetch.address << 2, fetch.size << 2);
|
||||
const uint8_t* src_vertex_address =
|
||||
memory->TranslatePhysical(fetch.address << 2);
|
||||
float vertices[6];
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "xenia/gpu/d3d12/shared_memory.h"
|
||||
#include "xenia/gpu/d3d12/texture_cache.h"
|
||||
#include "xenia/gpu/register_file.h"
|
||||
#include "xenia/gpu/trace_writer.h"
|
||||
#include "xenia/gpu/xenos.h"
|
||||
#include "xenia/memory.h"
|
||||
#include "xenia/ui/d3d12/d3d12_api.h"
|
||||
|
@ -247,7 +248,7 @@ class RenderTargetCache {
|
|||
};
|
||||
|
||||
RenderTargetCache(D3D12CommandProcessor* command_processor,
|
||||
RegisterFile* register_file);
|
||||
RegisterFile* register_file, TraceWriter* trace_writer);
|
||||
~RenderTargetCache();
|
||||
|
||||
bool Initialize(const TextureCache* texture_cache);
|
||||
|
@ -503,6 +504,7 @@ class RenderTargetCache {
|
|||
|
||||
D3D12CommandProcessor* command_processor_;
|
||||
RegisterFile* register_file_;
|
||||
TraceWriter* trace_writer_;
|
||||
|
||||
// Whether 1 guest pixel is rendered as 2x2 host pixels (currently only
|
||||
// supported with ROV).
|
||||
|
|
Loading…
Reference in New Issue