summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar bunnei2019-03-03 23:54:16 -0500
committerGravatar bunnei2019-03-20 22:36:02 -0400
commit22d3dfbcd4c606d40e5ae36970db4661c302859f (patch)
tree24bf6fe7420aab7a34be7782bc1830e053b64679 /src/video_core/engines
parentgpu: Move GPUVAddr definition to common_types. (diff)
downloadyuzu-22d3dfbcd4c606d40e5ae36970db4661c302859f.tar.gz
yuzu-22d3dfbcd4c606d40e5ae36970db4661c302859f.tar.xz
yuzu-22d3dfbcd4c606d40e5ae36970db4661c302859f.zip
gpu: Rewrite virtual memory manager using PageTable.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/kepler_memory.cpp2
-rw-r--r--src/video_core/engines/maxwell_3d.cpp8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/engines/kepler_memory.cpp b/src/video_core/engines/kepler_memory.cpp
index 0931b9626..e259bf46b 100644
--- a/src/video_core/engines/kepler_memory.cpp
+++ b/src/video_core/engines/kepler_memory.cpp
@@ -46,7 +46,7 @@ void KeplerMemory::ProcessData(u32 data) {
46 // contain a dirty surface that will have to be written back to memory. 46 // contain a dirty surface that will have to be written back to memory.
47 const GPUVAddr address{regs.dest.Address() + state.write_offset * sizeof(u32)}; 47 const GPUVAddr address{regs.dest.Address() + state.write_offset * sizeof(u32)};
48 rasterizer.InvalidateRegion(ToCacheAddr(memory_manager.GetPointer(address)), sizeof(u32)); 48 rasterizer.InvalidateRegion(ToCacheAddr(memory_manager.GetPointer(address)), sizeof(u32));
49 memory_manager.Write32(address, data); 49 memory_manager.Write<u32>(address, data);
50 50
51 system.GPU().Maxwell3D().dirty_flags.OnMemoryWrite(); 51 system.GPU().Maxwell3D().dirty_flags.OnMemoryWrite();
52 52
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index c5d5be4ef..defcfbd3f 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -307,7 +307,7 @@ void Maxwell3D::ProcessQueryGet() {
307 // Write the current query sequence to the sequence address. 307 // Write the current query sequence to the sequence address.
308 // TODO(Subv): Find out what happens if you use a long query type but mark it as a short 308 // TODO(Subv): Find out what happens if you use a long query type but mark it as a short
309 // query. 309 // query.
310 memory_manager.Write32(sequence_address, sequence); 310 memory_manager.Write<u32>(sequence_address, sequence);
311 } else { 311 } else {
312 // Write the 128-bit result structure in long mode. Note: We emulate an infinitely fast 312 // Write the 128-bit result structure in long mode. Note: We emulate an infinitely fast
313 // GPU, this command may actually take a while to complete in real hardware due to GPU 313 // GPU, this command may actually take a while to complete in real hardware due to GPU
@@ -395,7 +395,7 @@ void Maxwell3D::ProcessCBData(u32 value) {
395 395
396 u8* ptr{memory_manager.GetPointer(address)}; 396 u8* ptr{memory_manager.GetPointer(address)};
397 rasterizer.InvalidateRegion(ToCacheAddr(ptr), sizeof(u32)); 397 rasterizer.InvalidateRegion(ToCacheAddr(ptr), sizeof(u32));
398 memory_manager.Write32(address, value); 398 memory_manager.Write<u32>(address, value);
399 399
400 dirty_flags.OnMemoryWrite(); 400 dirty_flags.OnMemoryWrite();
401 401
@@ -447,7 +447,7 @@ std::vector<Texture::FullTextureInfo> Maxwell3D::GetStageTextures(Regs::ShaderSt
447 for (GPUVAddr current_texture = tex_info_buffer.address + TextureInfoOffset; 447 for (GPUVAddr current_texture = tex_info_buffer.address + TextureInfoOffset;
448 current_texture < tex_info_buffer_end; current_texture += sizeof(Texture::TextureHandle)) { 448 current_texture < tex_info_buffer_end; current_texture += sizeof(Texture::TextureHandle)) {
449 449
450 const Texture::TextureHandle tex_handle{memory_manager.Read32(current_texture)}; 450 const Texture::TextureHandle tex_handle{memory_manager.Read<u32>(current_texture)};
451 451
452 Texture::FullTextureInfo tex_info{}; 452 Texture::FullTextureInfo tex_info{};
453 // TODO(Subv): Use the shader to determine which textures are actually accessed. 453 // TODO(Subv): Use the shader to determine which textures are actually accessed.
@@ -482,7 +482,7 @@ Texture::FullTextureInfo Maxwell3D::GetStageTexture(Regs::ShaderStage stage,
482 482
483 ASSERT(tex_info_address < tex_info_buffer.address + tex_info_buffer.size); 483 ASSERT(tex_info_address < tex_info_buffer.address + tex_info_buffer.size);
484 484
485 const Texture::TextureHandle tex_handle{memory_manager.Read32(tex_info_address)}; 485 const Texture::TextureHandle tex_handle{memory_manager.Read<u32>(tex_info_address)};
486 486
487 Texture::FullTextureInfo tex_info{}; 487 Texture::FullTextureInfo tex_info{};
488 tex_info.index = static_cast<u32>(offset); 488 tex_info.index = static_cast<u32>(offset);