summaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache
diff options
context:
space:
mode:
authorGravatar bunnei2020-02-22 23:09:50 -0500
committerGravatar GitHub2020-02-22 23:09:50 -0500
commit754aac331f82b55bed1a2c0fdf4e87e9893903e1 (patch)
tree1971a7120143a4faaf74f9a7bc3d9875baa020a1 /src/video_core/texture_cache
parentMerge pull request #3416 from FernandoS27/schedule (diff)
parentsurface_base: Implement texture buffer flushes (diff)
downloadyuzu-754aac331f82b55bed1a2c0fdf4e87e9893903e1.tar.gz
yuzu-754aac331f82b55bed1a2c0fdf4e87e9893903e1.tar.xz
yuzu-754aac331f82b55bed1a2c0fdf4e87e9893903e1.zip
Merge pull request #3422 from ReinUsesLisp/buffer-flush
surface_base: Implement texture buffer flushes
Diffstat (limited to 'src/video_core/texture_cache')
-rw-r--r--src/video_core/texture_cache/surface_base.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/surface_base.cpp b/src/video_core/texture_cache/surface_base.cpp
index 84469b7ba..002df414f 100644
--- a/src/video_core/texture_cache/surface_base.cpp
+++ b/src/video_core/texture_cache/surface_base.cpp
@@ -277,6 +277,10 @@ void SurfaceBaseImpl::FlushBuffer(Tegra::MemoryManager& memory_manager,
277 SwizzleFunc(MortonSwizzleMode::LinearToMorton, host_ptr, params, 277 SwizzleFunc(MortonSwizzleMode::LinearToMorton, host_ptr, params,
278 staging_buffer.data() + host_offset, level); 278 staging_buffer.data() + host_offset, level);
279 } 279 }
280 } else if (params.IsBuffer()) {
281 // Buffers don't have pitch or any fancy layout property. We can just memcpy them to guest
282 // memory.
283 std::memcpy(host_ptr, staging_buffer.data(), guest_memory_size);
280 } else { 284 } else {
281 ASSERT(params.target == SurfaceTarget::Texture2D); 285 ASSERT(params.target == SurfaceTarget::Texture2D);
282 ASSERT(params.num_levels == 1); 286 ASSERT(params.num_levels == 1);