diff options
| author | 2020-02-22 23:09:50 -0500 | |
|---|---|---|
| committer | 2020-02-22 23:09:50 -0500 | |
| commit | 754aac331f82b55bed1a2c0fdf4e87e9893903e1 (patch) | |
| tree | 1971a7120143a4faaf74f9a7bc3d9875baa020a1 /src/video_core/texture_cache | |
| parent | Merge pull request #3416 from FernandoS27/schedule (diff) | |
| parent | surface_base: Implement texture buffer flushes (diff) | |
| download | yuzu-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.cpp | 4 |
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); |