1
1
Fork 0
forked from suyu/suyu

Use ReadBlockUnsafe for fetyching DMA CommandLists

This commit is contained in:
Fernando Sahmkow 2019-04-16 10:19:52 -04:00 committed by FernandoS27
parent 06d1c5a991
commit 13d626fc21
2 changed files with 2 additions and 4 deletions

View file

@ -57,8 +57,8 @@ 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) {

View file

@ -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;