mirror of
https://gitlab.com/suyu-emu/suyu.git
synced 2024-03-15 23:15:44 +00:00
Use ReadBlockUnsafe for fetyching DMA CommandLists
This commit is contained in:
parent
06d1c5a991
commit
13d626fc21
|
@ -57,7 +57,7 @@ bool DmaPusher::Step() {
|
||||||
|
|
||||||
// Push buffer non-empty, read a word
|
// Push buffer non-empty, read a word
|
||||||
command_headers.resize(command_list_header.size);
|
command_headers.resize(command_list_header.size);
|
||||||
gpu.MemoryManager().ReadBlock(dma_get, command_headers.data(),
|
gpu.MemoryManager().ReadBlockUnsafe(dma_get, command_headers.data(),
|
||||||
command_list_header.size * sizeof(u32));
|
command_list_header.size * sizeof(u32));
|
||||||
|
|
||||||
for (const CommandHeader& command_header : command_headers) {
|
for (const CommandHeader& command_header : command_headers) {
|
||||||
|
|
|
@ -65,7 +65,6 @@ public:
|
||||||
u8* GetPointer(GPUVAddr addr);
|
u8* GetPointer(GPUVAddr addr);
|
||||||
const u8* GetPointer(GPUVAddr addr) const;
|
const u8* GetPointer(GPUVAddr addr) const;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ReadBlock and WriteBlock are full read and write operations over virtual
|
* ReadBlock and WriteBlock are full read and write operations over virtual
|
||||||
* GPU Memory. It's important to use these when GPU memory may not be continous
|
* GPU Memory. It's important to use these when GPU memory may not be continous
|
||||||
|
@ -90,7 +89,6 @@ public:
|
||||||
void WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, const std::size_t size);
|
void WriteBlockUnsafe(GPUVAddr dest_addr, const void* src_buffer, const std::size_t size);
|
||||||
void CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size);
|
void CopyBlockUnsafe(GPUVAddr dest_addr, GPUVAddr src_addr, const std::size_t size);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
using VMAMap = std::map<GPUVAddr, VirtualMemoryArea>;
|
using VMAMap = std::map<GPUVAddr, VirtualMemoryArea>;
|
||||||
using VMAHandle = VMAMap::const_iterator;
|
using VMAHandle = VMAMap::const_iterator;
|
||||||
|
|
Loading…
Reference in a new issue