diff options
| author | 2023-12-31 20:55:15 +0100 | |
|---|---|---|
| committer | 2024-01-18 21:12:30 -0500 | |
| commit | 590d9b7e1d875e0403fb87cfcd4a8d52c50e2b81 (patch) | |
| tree | b9eb43c5a4af892d5fda77fac241099c166c2380 /src/video_core | |
| parent | SMMU: Fix software rendering and cleanup (diff) | |
| download | yuzu-590d9b7e1d875e0403fb87cfcd4a8d52c50e2b81.tar.gz yuzu-590d9b7e1d875e0403fb87cfcd4a8d52c50e2b81.tar.xz yuzu-590d9b7e1d875e0403fb87cfcd4a8d52c50e2b81.zip | |
Core: Clang format and other small issues.
Diffstat (limited to 'src/video_core')
23 files changed, 55 insertions, 52 deletions
diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index 6fe2e8b93..5325a715a 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h | |||
| @@ -240,8 +240,8 @@ bool BufferCache<P>::DMACopy(GPUVAddr src_address, GPUVAddr dest_address, u64 am | |||
| 240 | memory_tracker.MarkRegionAsGpuModified(*cpu_dest_address, amount); | 240 | memory_tracker.MarkRegionAsGpuModified(*cpu_dest_address, amount); |
| 241 | } | 241 | } |
| 242 | 242 | ||
| 243 | Tegra::Memory::DeviceGuestMemoryScoped<u8, Tegra::Memory::GuestMemoryFlags::UnsafeReadWrite> tmp( | 243 | Tegra::Memory::DeviceGuestMemoryScoped<u8, Tegra::Memory::GuestMemoryFlags::UnsafeReadWrite> |
| 244 | device_memory, *cpu_src_address, amount, &tmp_buffer); | 244 | tmp(device_memory, *cpu_src_address, amount, &tmp_buffer); |
| 245 | tmp.SetAddressAndSize(*cpu_dest_address, amount); | 245 | tmp.SetAddressAndSize(*cpu_dest_address, amount); |
| 246 | return true; | 246 | return true; |
| 247 | } | 247 | } |
| @@ -1355,7 +1355,7 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(DAddr dev | |||
| 1355 | bool has_stream_leap = false; | 1355 | bool has_stream_leap = false; |
| 1356 | auto expand_begin = [&](DAddr add_value) { | 1356 | auto expand_begin = [&](DAddr add_value) { |
| 1357 | static constexpr DAddr min_page = CACHING_PAGESIZE + Core::Memory::YUZU_PAGESIZE; | 1357 | static constexpr DAddr min_page = CACHING_PAGESIZE + Core::Memory::YUZU_PAGESIZE; |
| 1358 | if (add_value > begin - min_page ) { | 1358 | if (add_value > begin - min_page) { |
| 1359 | begin = min_page; | 1359 | begin = min_page; |
| 1360 | device_addr = Core::Memory::YUZU_PAGESIZE; | 1360 | device_addr = Core::Memory::YUZU_PAGESIZE; |
| 1361 | return; | 1361 | return; |
| @@ -1365,7 +1365,7 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(DAddr dev | |||
| 1365 | }; | 1365 | }; |
| 1366 | auto expand_end = [&](DAddr add_value) { | 1366 | auto expand_end = [&](DAddr add_value) { |
| 1367 | static constexpr DAddr max_page = 1ULL << Tegra::MaxwellDeviceMemoryManager::AS_BITS; | 1367 | static constexpr DAddr max_page = 1ULL << Tegra::MaxwellDeviceMemoryManager::AS_BITS; |
| 1368 | if (add_value > max_page - end ) { | 1368 | if (add_value > max_page - end) { |
| 1369 | end = max_page; | 1369 | end = max_page; |
| 1370 | return; | 1370 | return; |
| 1371 | } | 1371 | } |
diff --git a/src/video_core/buffer_cache/word_manager.h b/src/video_core/buffer_cache/word_manager.h index 56ab4f5f1..1ca333b32 100644 --- a/src/video_core/buffer_cache/word_manager.h +++ b/src/video_core/buffer_cache/word_manager.h | |||
| @@ -472,8 +472,8 @@ private: | |||
| 472 | u64 changed_bits = (add_to_tracker ? current_bits : ~current_bits) & new_bits; | 472 | u64 changed_bits = (add_to_tracker ? current_bits : ~current_bits) & new_bits; |
| 473 | VAddr addr = cpu_addr + word_index * BYTES_PER_WORD; | 473 | VAddr addr = cpu_addr + word_index * BYTES_PER_WORD; |
| 474 | IteratePages(changed_bits, [&](size_t offset, size_t size) { | 474 | IteratePages(changed_bits, [&](size_t offset, size_t size) { |
| 475 | tracker->UpdatePagesCachedCount(addr + offset * BYTES_PER_PAGE, | 475 | tracker->UpdatePagesCachedCount(addr + offset * BYTES_PER_PAGE, size * BYTES_PER_PAGE, |
| 476 | size * BYTES_PER_PAGE, add_to_tracker ? 1 : -1); | 476 | add_to_tracker ? 1 : -1); |
| 477 | }); | 477 | }); |
| 478 | } | 478 | } |
| 479 | 479 | ||
diff --git a/src/video_core/dma_pusher.cpp b/src/video_core/dma_pusher.cpp index d461c5be8..fb2060ca4 100644 --- a/src/video_core/dma_pusher.cpp +++ b/src/video_core/dma_pusher.cpp | |||
| @@ -86,14 +86,14 @@ bool DmaPusher::Step() { | |||
| 86 | } | 86 | } |
| 87 | const auto safe_process = [&] { | 87 | const auto safe_process = [&] { |
| 88 | Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader, | 88 | Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader, |
| 89 | Tegra::Memory::GuestMemoryFlags::SafeRead> | 89 | Tegra::Memory::GuestMemoryFlags::SafeRead> |
| 90 | headers(memory_manager, dma_state.dma_get, command_list_header.size, | 90 | headers(memory_manager, dma_state.dma_get, command_list_header.size, |
| 91 | &command_headers); | 91 | &command_headers); |
| 92 | ProcessCommands(headers); | 92 | ProcessCommands(headers); |
| 93 | }; | 93 | }; |
| 94 | const auto unsafe_process = [&] { | 94 | const auto unsafe_process = [&] { |
| 95 | Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader, | 95 | Tegra::Memory::GpuGuestMemory<Tegra::CommandHeader, |
| 96 | Tegra::Memory::GuestMemoryFlags::UnsafeRead> | 96 | Tegra::Memory::GuestMemoryFlags::UnsafeRead> |
| 97 | headers(memory_manager, dma_state.dma_get, command_list_header.size, | 97 | headers(memory_manager, dma_state.dma_get, command_list_header.size, |
| 98 | &command_headers); | 98 | &command_headers); |
| 99 | ProcessCommands(headers); | 99 | ProcessCommands(headers); |
diff --git a/src/video_core/engines/sw_blitter/blitter.cpp b/src/video_core/engines/sw_blitter/blitter.cpp index b67589daf..4bc079024 100644 --- a/src/video_core/engines/sw_blitter/blitter.cpp +++ b/src/video_core/engines/sw_blitter/blitter.cpp | |||
| @@ -8,10 +8,10 @@ | |||
| 8 | #include "common/scratch_buffer.h" | 8 | #include "common/scratch_buffer.h" |
| 9 | #include "video_core/engines/sw_blitter/blitter.h" | 9 | #include "video_core/engines/sw_blitter/blitter.h" |
| 10 | #include "video_core/engines/sw_blitter/converter.h" | 10 | #include "video_core/engines/sw_blitter/converter.h" |
| 11 | #include "video_core/guest_memory.h" | ||
| 11 | #include "video_core/memory_manager.h" | 12 | #include "video_core/memory_manager.h" |
| 12 | #include "video_core/surface.h" | 13 | #include "video_core/surface.h" |
| 13 | #include "video_core/textures/decoders.h" | 14 | #include "video_core/textures/decoders.h" |
| 14 | #include "video_core/guest_memory.h" | ||
| 15 | 15 | ||
| 16 | namespace Tegra { | 16 | namespace Tegra { |
| 17 | class MemoryManager; | 17 | class MemoryManager; |
diff --git a/src/video_core/guest_memory.h b/src/video_core/guest_memory.h index a2132f7ea..8b6213172 100644 --- a/src/video_core/guest_memory.h +++ b/src/video_core/guest_memory.h | |||
| @@ -20,7 +20,8 @@ using GuestMemoryFlags = Core::Memory::GuestMemoryFlags; | |||
| 20 | template <typename T, GuestMemoryFlags FLAGS> | 20 | template <typename T, GuestMemoryFlags FLAGS> |
| 21 | using DeviceGuestMemory = Core::Memory::GuestMemory<Tegra::MaxwellDeviceMemoryManager, T, FLAGS>; | 21 | using DeviceGuestMemory = Core::Memory::GuestMemory<Tegra::MaxwellDeviceMemoryManager, T, FLAGS>; |
| 22 | template <typename T, GuestMemoryFlags FLAGS> | 22 | template <typename T, GuestMemoryFlags FLAGS> |
| 23 | using DeviceGuestMemoryScoped = Core::Memory::GuestMemoryScoped<Tegra::MaxwellDeviceMemoryManager, T, FLAGS>; | 23 | using DeviceGuestMemoryScoped = |
| 24 | Core::Memory::GuestMemoryScoped<Tegra::MaxwellDeviceMemoryManager, T, FLAGS>; | ||
| 24 | template <typename T, GuestMemoryFlags FLAGS> | 25 | template <typename T, GuestMemoryFlags FLAGS> |
| 25 | using GpuGuestMemory = Core::Memory::GuestMemory<Tegra::MemoryManager, T, FLAGS>; | 26 | using GpuGuestMemory = Core::Memory::GuestMemory<Tegra::MemoryManager, T, FLAGS>; |
| 26 | template <typename T, GuestMemoryFlags FLAGS> | 27 | template <typename T, GuestMemoryFlags FLAGS> |
diff --git a/src/video_core/host1x/codecs/vp9.cpp b/src/video_core/host1x/codecs/vp9.cpp index e2ae1f76d..65d6fb2d5 100644 --- a/src/video_core/host1x/codecs/vp9.cpp +++ b/src/video_core/host1x/codecs/vp9.cpp | |||
| @@ -383,9 +383,8 @@ Vp9FrameContainer VP9::GetCurrentFrame(const Host1x::NvdecCommon::NvdecRegisters | |||
| 383 | // gpu.SyncGuestHost(); epic, why? | 383 | // gpu.SyncGuestHost(); epic, why? |
| 384 | current_frame.info = GetVp9PictureInfo(state); | 384 | current_frame.info = GetVp9PictureInfo(state); |
| 385 | current_frame.bit_stream.resize(current_frame.info.bitstream_size); | 385 | current_frame.bit_stream.resize(current_frame.info.bitstream_size); |
| 386 | host1x.GMMU().ReadBlock(state.frame_bitstream_offset, | 386 | host1x.GMMU().ReadBlock(state.frame_bitstream_offset, current_frame.bit_stream.data(), |
| 387 | current_frame.bit_stream.data(), | 387 | current_frame.info.bitstream_size); |
| 388 | current_frame.info.bitstream_size); | ||
| 389 | } | 388 | } |
| 390 | if (!next_frame.bit_stream.empty()) { | 389 | if (!next_frame.bit_stream.empty()) { |
| 391 | Vp9FrameContainer temp{ | 390 | Vp9FrameContainer temp{ |
diff --git a/src/video_core/host1x/vic.cpp b/src/video_core/host1x/vic.cpp index 1826211a1..d154746af 100644 --- a/src/video_core/host1x/vic.cpp +++ b/src/video_core/host1x/vic.cpp | |||
| @@ -167,7 +167,7 @@ void Vic::WriteRGBFrame(std::unique_ptr<FFmpeg::Frame> frame, const VicConfig& c | |||
| 167 | // send pitch linear frame | 167 | // send pitch linear frame |
| 168 | const size_t linear_size = width * height * 4; | 168 | const size_t linear_size = width * height * 4; |
| 169 | host1x.GMMU().WriteBlock(output_surface_luma_address, converted_frame_buf_addr, | 169 | host1x.GMMU().WriteBlock(output_surface_luma_address, converted_frame_buf_addr, |
| 170 | linear_size); | 170 | linear_size); |
| 171 | } | 171 | } |
| 172 | } | 172 | } |
| 173 | 173 | ||
| @@ -193,8 +193,7 @@ void Vic::WriteYUVFrame(std::unique_ptr<FFmpeg::Frame> frame, const VicConfig& c | |||
| 193 | const std::size_t dst = y * aligned_width; | 193 | const std::size_t dst = y * aligned_width; |
| 194 | std::memcpy(luma_buffer.data() + dst, luma_src + src, frame_width); | 194 | std::memcpy(luma_buffer.data() + dst, luma_src + src, frame_width); |
| 195 | } | 195 | } |
| 196 | host1x.GMMU().WriteBlock(output_surface_luma_address, luma_buffer.data(), | 196 | host1x.GMMU().WriteBlock(output_surface_luma_address, luma_buffer.data(), luma_buffer.size()); |
| 197 | luma_buffer.size()); | ||
| 198 | 197 | ||
| 199 | // Chroma | 198 | // Chroma |
| 200 | const std::size_t half_height = frame_height / 2; | 199 | const std::size_t half_height = frame_height / 2; |
| @@ -234,7 +233,7 @@ void Vic::WriteYUVFrame(std::unique_ptr<FFmpeg::Frame> frame, const VicConfig& c | |||
| 234 | break; | 233 | break; |
| 235 | } | 234 | } |
| 236 | host1x.GMMU().WriteBlock(output_surface_chroma_address, chroma_buffer.data(), | 235 | host1x.GMMU().WriteBlock(output_surface_chroma_address, chroma_buffer.data(), |
| 237 | chroma_buffer.size()); | 236 | chroma_buffer.size()); |
| 238 | } | 237 | } |
| 239 | 238 | ||
| 240 | } // namespace Host1x | 239 | } // namespace Host1x |
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index 00d64dcce..eb00918fc 100644 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h | |||
| @@ -38,8 +38,9 @@ class MemoryManager final { | |||
| 38 | public: | 38 | public: |
| 39 | explicit MemoryManager(Core::System& system_, u64 address_space_bits_ = 40, | 39 | explicit MemoryManager(Core::System& system_, u64 address_space_bits_ = 40, |
| 40 | u64 big_page_bits_ = 16, u64 page_bits_ = 12); | 40 | u64 big_page_bits_ = 16, u64 page_bits_ = 12); |
| 41 | explicit MemoryManager(Core::System& system_, MaxwellDeviceMemoryManager& memory_, u64 address_space_bits_ = 40, | 41 | explicit MemoryManager(Core::System& system_, MaxwellDeviceMemoryManager& memory_, |
| 42 | u64 big_page_bits_ = 16, u64 page_bits_ = 12); | 42 | u64 address_space_bits_ = 40, u64 big_page_bits_ = 16, |
| 43 | u64 page_bits_ = 12); | ||
| 43 | ~MemoryManager(); | 44 | ~MemoryManager(); |
| 44 | 45 | ||
| 45 | size_t GetID() const { | 46 | size_t GetID() const { |
diff --git a/src/video_core/query_cache/query_cache_base.h b/src/video_core/query_cache/query_cache_base.h index 7720456ff..3c820b5f2 100644 --- a/src/video_core/query_cache/query_cache_base.h +++ b/src/video_core/query_cache/query_cache_base.h | |||
| @@ -15,9 +15,9 @@ | |||
| 15 | #include "common/common_types.h" | 15 | #include "common/common_types.h" |
| 16 | #include "core/memory.h" | 16 | #include "core/memory.h" |
| 17 | #include "video_core/control/channel_state_cache.h" | 17 | #include "video_core/control/channel_state_cache.h" |
| 18 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 18 | #include "video_core/query_cache/query_base.h" | 19 | #include "video_core/query_cache/query_base.h" |
| 19 | #include "video_core/query_cache/types.h" | 20 | #include "video_core/query_cache/types.h" |
| 20 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 21 | 21 | ||
| 22 | namespace VideoCore { | 22 | namespace VideoCore { |
| 23 | class RasterizerInterface; | 23 | class RasterizerInterface; |
| @@ -50,7 +50,8 @@ public: | |||
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | explicit QueryCacheBase(Tegra::GPU& gpu, VideoCore::RasterizerInterface& rasterizer_, | 52 | explicit QueryCacheBase(Tegra::GPU& gpu, VideoCore::RasterizerInterface& rasterizer_, |
| 53 | Tegra::MaxwellDeviceMemoryManager& device_memory_, RuntimeType& runtime_); | 53 | Tegra::MaxwellDeviceMemoryManager& device_memory_, |
| 54 | RuntimeType& runtime_); | ||
| 54 | 55 | ||
| 55 | ~QueryCacheBase(); | 56 | ~QueryCacheBase(); |
| 56 | 57 | ||
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.h b/src/video_core/renderer_opengl/gl_buffer_cache.h index e6ad030cb..af34c272b 100644 --- a/src/video_core/renderer_opengl/gl_buffer_cache.h +++ b/src/video_core/renderer_opengl/gl_buffer_cache.h | |||
| @@ -20,8 +20,7 @@ class BufferCacheRuntime; | |||
| 20 | 20 | ||
| 21 | class Buffer : public VideoCommon::BufferBase { | 21 | class Buffer : public VideoCommon::BufferBase { |
| 22 | public: | 22 | public: |
| 23 | explicit Buffer(BufferCacheRuntime&, DAddr cpu_addr, | 23 | explicit Buffer(BufferCacheRuntime&, DAddr cpu_addr, u64 size_bytes); |
| 24 | u64 size_bytes); | ||
| 25 | explicit Buffer(BufferCacheRuntime&, VideoCommon::NullBufferParams); | 24 | explicit Buffer(BufferCacheRuntime&, VideoCommon::NullBufferParams); |
| 26 | 25 | ||
| 27 | void ImmediateUpload(size_t offset, std::span<const u8> data) noexcept; | 26 | void ImmediateUpload(size_t offset, std::span<const u8> data) noexcept; |
diff --git a/src/video_core/renderer_opengl/gl_query_cache.cpp b/src/video_core/renderer_opengl/gl_query_cache.cpp index 567292e1c..2147d587f 100644 --- a/src/video_core/renderer_opengl/gl_query_cache.cpp +++ b/src/video_core/renderer_opengl/gl_query_cache.cpp | |||
| @@ -35,7 +35,8 @@ constexpr GLenum GetTarget(VideoCore::QueryType type) { | |||
| 35 | 35 | ||
| 36 | } // Anonymous namespace | 36 | } // Anonymous namespace |
| 37 | 37 | ||
| 38 | QueryCache::QueryCache(RasterizerOpenGL& rasterizer_, Tegra::MaxwellDeviceMemoryManager& device_memory_) | 38 | QueryCache::QueryCache(RasterizerOpenGL& rasterizer_, |
| 39 | Tegra::MaxwellDeviceMemoryManager& device_memory_) | ||
| 39 | : QueryCacheLegacy(rasterizer_, device_memory_), gl_rasterizer{rasterizer_} { | 40 | : QueryCacheLegacy(rasterizer_, device_memory_), gl_rasterizer{rasterizer_} { |
| 40 | EnableCounters(); | 41 | EnableCounters(); |
| 41 | } | 42 | } |
diff --git a/src/video_core/renderer_opengl/gl_query_cache.h b/src/video_core/renderer_opengl/gl_query_cache.h index 04a1b39c9..38118f355 100644 --- a/src/video_core/renderer_opengl/gl_query_cache.h +++ b/src/video_core/renderer_opengl/gl_query_cache.h | |||
| @@ -8,10 +8,10 @@ | |||
| 8 | #include <vector> | 8 | #include <vector> |
| 9 | 9 | ||
| 10 | #include "common/common_types.h" | 10 | #include "common/common_types.h" |
| 11 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 11 | #include "video_core/query_cache.h" | 12 | #include "video_core/query_cache.h" |
| 12 | #include "video_core/rasterizer_interface.h" | 13 | #include "video_core/rasterizer_interface.h" |
| 13 | #include "video_core/renderer_opengl/gl_resource_manager.h" | 14 | #include "video_core/renderer_opengl/gl_resource_manager.h" |
| 14 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 15 | 15 | ||
| 16 | namespace Core { | 16 | namespace Core { |
| 17 | class System; | 17 | class System; |
| @@ -29,7 +29,8 @@ using CounterStream = VideoCommon::CounterStreamBase<QueryCache, HostCounter>; | |||
| 29 | class QueryCache final | 29 | class QueryCache final |
| 30 | : public VideoCommon::QueryCacheLegacy<QueryCache, CachedQuery, CounterStream, HostCounter> { | 30 | : public VideoCommon::QueryCacheLegacy<QueryCache, CachedQuery, CounterStream, HostCounter> { |
| 31 | public: | 31 | public: |
| 32 | explicit QueryCache(RasterizerOpenGL& rasterizer_, Tegra::MaxwellDeviceMemoryManager& device_memory_); | 32 | explicit QueryCache(RasterizerOpenGL& rasterizer_, |
| 33 | Tegra::MaxwellDeviceMemoryManager& device_memory_); | ||
| 33 | ~QueryCache(); | 34 | ~QueryCache(); |
| 34 | 35 | ||
| 35 | OGLQuery AllocateQuery(VideoCore::QueryType type); | 36 | OGLQuery AllocateQuery(VideoCore::QueryType type); |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h index f197774ed..34aa73526 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.h +++ b/src/video_core/renderer_opengl/gl_rasterizer.h | |||
| @@ -75,9 +75,9 @@ class RasterizerOpenGL : public VideoCore::RasterizerInterface, | |||
| 75 | protected VideoCommon::ChannelSetupCaches<VideoCommon::ChannelInfo> { | 75 | protected VideoCommon::ChannelSetupCaches<VideoCommon::ChannelInfo> { |
| 76 | public: | 76 | public: |
| 77 | explicit RasterizerOpenGL(Core::Frontend::EmuWindow& emu_window_, Tegra::GPU& gpu_, | 77 | explicit RasterizerOpenGL(Core::Frontend::EmuWindow& emu_window_, Tegra::GPU& gpu_, |
| 78 | Tegra::MaxwellDeviceMemoryManager& device_memory_, const Device& device_, | 78 | Tegra::MaxwellDeviceMemoryManager& device_memory_, |
| 79 | ScreenInfo& screen_info_, ProgramManager& program_manager_, | 79 | const Device& device_, ScreenInfo& screen_info_, |
| 80 | StateTracker& state_tracker_); | 80 | ProgramManager& program_manager_, StateTracker& state_tracker_); |
| 81 | ~RasterizerOpenGL() override; | 81 | ~RasterizerOpenGL() override; |
| 82 | 82 | ||
| 83 | void Draw(bool is_indexed, u32 instance_count) override; | 83 | void Draw(bool is_indexed, u32 instance_count) override; |
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp index 0e1815076..1631276c6 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp +++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp | |||
| @@ -97,8 +97,8 @@ RendererVulkan::RendererVulkan(Core::TelemetrySession& telemetry_session_, | |||
| 97 | render_window.GetFramebufferLayout().height), | 97 | render_window.GetFramebufferLayout().height), |
| 98 | present_manager(instance, render_window, device, memory_allocator, scheduler, swapchain, | 98 | present_manager(instance, render_window, device, memory_allocator, scheduler, swapchain, |
| 99 | surface), | 99 | surface), |
| 100 | blit_screen(device_memory, render_window, device, memory_allocator, swapchain, present_manager, | 100 | blit_screen(device_memory, render_window, device, memory_allocator, swapchain, |
| 101 | scheduler, screen_info), | 101 | present_manager, scheduler, screen_info), |
| 102 | rasterizer(render_window, gpu, device_memory, screen_info, device, memory_allocator, | 102 | rasterizer(render_window, gpu, device_memory, screen_info, device, memory_allocator, |
| 103 | state_tracker, scheduler) { | 103 | state_tracker, scheduler) { |
| 104 | if (Settings::values.renderer_force_max_clock.GetValue() && device.ShouldBoostClocks()) { | 104 | if (Settings::values.renderer_force_max_clock.GetValue() && device.ShouldBoostClocks()) { |
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.h b/src/video_core/renderer_vulkan/renderer_vulkan.h index e5ce4692d..11c52287a 100644 --- a/src/video_core/renderer_vulkan/renderer_vulkan.h +++ b/src/video_core/renderer_vulkan/renderer_vulkan.h | |||
| @@ -7,12 +7,12 @@ | |||
| 7 | #include <string> | 7 | #include <string> |
| 8 | #include <variant> | 8 | #include <variant> |
| 9 | 9 | ||
| 10 | #include "video_core/renderer_vulkan/vk_rasterizer.h" | ||
| 11 | |||
| 12 | #include "common/dynamic_library.h" | 10 | #include "common/dynamic_library.h" |
| 11 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 13 | #include "video_core/renderer_base.h" | 12 | #include "video_core/renderer_base.h" |
| 14 | #include "video_core/renderer_vulkan/vk_blit_screen.h" | 13 | #include "video_core/renderer_vulkan/vk_blit_screen.h" |
| 15 | #include "video_core/renderer_vulkan/vk_present_manager.h" | 14 | #include "video_core/renderer_vulkan/vk_present_manager.h" |
| 15 | #include "video_core/renderer_vulkan/vk_rasterizer.h" | ||
| 16 | #include "video_core/renderer_vulkan/vk_scheduler.h" | 16 | #include "video_core/renderer_vulkan/vk_scheduler.h" |
| 17 | #include "video_core/renderer_vulkan/vk_state_tracker.h" | 17 | #include "video_core/renderer_vulkan/vk_state_tracker.h" |
| 18 | #include "video_core/renderer_vulkan/vk_swapchain.h" | 18 | #include "video_core/renderer_vulkan/vk_swapchain.h" |
| @@ -20,7 +20,6 @@ | |||
| 20 | #include "video_core/vulkan_common/vulkan_device.h" | 20 | #include "video_core/vulkan_common/vulkan_device.h" |
| 21 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" | 21 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" |
| 22 | #include "video_core/vulkan_common/vulkan_wrapper.h" | 22 | #include "video_core/vulkan_common/vulkan_wrapper.h" |
| 23 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 24 | 23 | ||
| 25 | namespace Core { | 24 | namespace Core { |
| 26 | class TelemetrySession; | 25 | class TelemetrySession; |
diff --git a/src/video_core/renderer_vulkan/vk_blit_screen.h b/src/video_core/renderer_vulkan/vk_blit_screen.h index cb941a956..3eff76009 100644 --- a/src/video_core/renderer_vulkan/vk_blit_screen.h +++ b/src/video_core/renderer_vulkan/vk_blit_screen.h | |||
| @@ -6,9 +6,9 @@ | |||
| 6 | #include <memory> | 6 | #include <memory> |
| 7 | 7 | ||
| 8 | #include "core/frontend/framebuffer_layout.h" | 8 | #include "core/frontend/framebuffer_layout.h" |
| 9 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 9 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" | 10 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" |
| 10 | #include "video_core/vulkan_common/vulkan_wrapper.h" | 11 | #include "video_core/vulkan_common/vulkan_wrapper.h" |
| 11 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 12 | 12 | ||
| 13 | namespace Core { | 13 | namespace Core { |
| 14 | class System; | 14 | class System; |
| @@ -53,8 +53,9 @@ struct ScreenInfo { | |||
| 53 | 53 | ||
| 54 | class BlitScreen { | 54 | class BlitScreen { |
| 55 | public: | 55 | public: |
| 56 | explicit BlitScreen(Tegra::MaxwellDeviceMemoryManager& device_memory, Core::Frontend::EmuWindow& render_window, | 56 | explicit BlitScreen(Tegra::MaxwellDeviceMemoryManager& device_memory, |
| 57 | const Device& device, MemoryAllocator& memory_manager, Swapchain& swapchain, | 57 | Core::Frontend::EmuWindow& render_window, const Device& device, |
| 58 | MemoryAllocator& memory_manager, Swapchain& swapchain, | ||
| 58 | PresentManager& present_manager, Scheduler& scheduler, | 59 | PresentManager& present_manager, Scheduler& scheduler, |
| 59 | const ScreenInfo& screen_info); | 60 | const ScreenInfo& screen_info); |
| 60 | ~BlitScreen(); | 61 | ~BlitScreen(); |
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index bec20c21a..1e1821b10 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |||
| @@ -298,8 +298,9 @@ bool GraphicsPipelineCacheKey::operator==(const GraphicsPipelineCacheKey& rhs) c | |||
| 298 | return std::memcmp(&rhs, this, Size()) == 0; | 298 | return std::memcmp(&rhs, this, Size()) == 0; |
| 299 | } | 299 | } |
| 300 | 300 | ||
| 301 | PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, const Device& device_, | 301 | PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, |
| 302 | Scheduler& scheduler_, DescriptorPool& descriptor_pool_, | 302 | const Device& device_, Scheduler& scheduler_, |
| 303 | DescriptorPool& descriptor_pool_, | ||
| 303 | GuestDescriptorQueue& guest_descriptor_queue_, | 304 | GuestDescriptorQueue& guest_descriptor_queue_, |
| 304 | RenderPassCache& render_pass_cache_, BufferCache& buffer_cache_, | 305 | RenderPassCache& render_pass_cache_, BufferCache& buffer_cache_, |
| 305 | TextureCache& texture_cache_, VideoCore::ShaderNotify& shader_notify_) | 306 | TextureCache& texture_cache_, VideoCore::ShaderNotify& shader_notify_) |
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.h b/src/video_core/renderer_vulkan/vk_pipeline_cache.h index 354fdc8ed..797700128 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.h +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.h | |||
| @@ -20,13 +20,13 @@ | |||
| 20 | #include "shader_recompiler/object_pool.h" | 20 | #include "shader_recompiler/object_pool.h" |
| 21 | #include "shader_recompiler/profile.h" | 21 | #include "shader_recompiler/profile.h" |
| 22 | #include "video_core/engines/maxwell_3d.h" | 22 | #include "video_core/engines/maxwell_3d.h" |
| 23 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 23 | #include "video_core/renderer_vulkan/fixed_pipeline_state.h" | 24 | #include "video_core/renderer_vulkan/fixed_pipeline_state.h" |
| 24 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" | 25 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" |
| 25 | #include "video_core/renderer_vulkan/vk_compute_pipeline.h" | 26 | #include "video_core/renderer_vulkan/vk_compute_pipeline.h" |
| 26 | #include "video_core/renderer_vulkan/vk_graphics_pipeline.h" | 27 | #include "video_core/renderer_vulkan/vk_graphics_pipeline.h" |
| 27 | #include "video_core/renderer_vulkan/vk_texture_cache.h" | 28 | #include "video_core/renderer_vulkan/vk_texture_cache.h" |
| 28 | #include "video_core/shader_cache.h" | 29 | #include "video_core/shader_cache.h" |
| 29 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 30 | 30 | ||
| 31 | namespace Core { | 31 | namespace Core { |
| 32 | class System; | 32 | class System; |
| @@ -99,8 +99,8 @@ struct ShaderPools { | |||
| 99 | 99 | ||
| 100 | class PipelineCache : public VideoCommon::ShaderCache { | 100 | class PipelineCache : public VideoCommon::ShaderCache { |
| 101 | public: | 101 | public: |
| 102 | explicit PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, const Device& device, Scheduler& scheduler, | 102 | explicit PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, const Device& device, |
| 103 | DescriptorPool& descriptor_pool, | 103 | Scheduler& scheduler, DescriptorPool& descriptor_pool, |
| 104 | GuestDescriptorQueue& guest_descriptor_queue, | 104 | GuestDescriptorQueue& guest_descriptor_queue, |
| 105 | RenderPassCache& render_pass_cache, BufferCache& buffer_cache, | 105 | RenderPassCache& render_pass_cache, BufferCache& buffer_cache, |
| 106 | TextureCache& texture_cache, VideoCore::ShaderNotify& shader_notify_); | 106 | TextureCache& texture_cache, VideoCore::ShaderNotify& shader_notify_); |
diff --git a/src/video_core/renderer_vulkan/vk_query_cache.cpp b/src/video_core/renderer_vulkan/vk_query_cache.cpp index d59fe698c..522f92dae 100644 --- a/src/video_core/renderer_vulkan/vk_query_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_query_cache.cpp | |||
| @@ -14,10 +14,10 @@ | |||
| 14 | #include "common/bit_util.h" | 14 | #include "common/bit_util.h" |
| 15 | #include "common/common_types.h" | 15 | #include "common/common_types.h" |
| 16 | #include "core/memory.h" | 16 | #include "core/memory.h" |
| 17 | #include "video_core/rasterizer_interface.h" | ||
| 18 | #include "video_core/engines/draw_manager.h" | 17 | #include "video_core/engines/draw_manager.h" |
| 19 | #include "video_core/host1x/gpu_device_memory_manager.h" | 18 | #include "video_core/host1x/gpu_device_memory_manager.h" |
| 20 | #include "video_core/query_cache/query_cache.h" | 19 | #include "video_core/query_cache/query_cache.h" |
| 20 | #include "video_core/rasterizer_interface.h" | ||
| 21 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" | 21 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" |
| 22 | #include "video_core/renderer_vulkan/vk_compute_pass.h" | 22 | #include "video_core/renderer_vulkan/vk_compute_pass.h" |
| 23 | #include "video_core/renderer_vulkan/vk_query_cache.h" | 23 | #include "video_core/renderer_vulkan/vk_query_cache.h" |
| @@ -1156,9 +1156,10 @@ private: | |||
| 1156 | 1156 | ||
| 1157 | struct QueryCacheRuntimeImpl { | 1157 | struct QueryCacheRuntimeImpl { |
| 1158 | QueryCacheRuntimeImpl(QueryCacheRuntime& runtime, VideoCore::RasterizerInterface* rasterizer_, | 1158 | QueryCacheRuntimeImpl(QueryCacheRuntime& runtime, VideoCore::RasterizerInterface* rasterizer_, |
| 1159 | Tegra::MaxwellDeviceMemoryManager& device_memory_, Vulkan::BufferCache& buffer_cache_, | 1159 | Tegra::MaxwellDeviceMemoryManager& device_memory_, |
| 1160 | const Device& device_, const MemoryAllocator& memory_allocator_, | 1160 | Vulkan::BufferCache& buffer_cache_, const Device& device_, |
| 1161 | Scheduler& scheduler_, StagingBufferPool& staging_pool_, | 1161 | const MemoryAllocator& memory_allocator_, Scheduler& scheduler_, |
| 1162 | StagingBufferPool& staging_pool_, | ||
| 1162 | ComputePassDescriptorQueue& compute_pass_descriptor_queue, | 1163 | ComputePassDescriptorQueue& compute_pass_descriptor_queue, |
| 1163 | DescriptorPool& descriptor_pool) | 1164 | DescriptorPool& descriptor_pool) |
| 1164 | : rasterizer{rasterizer_}, device_memory{device_memory_}, | 1165 | : rasterizer{rasterizer_}, device_memory{device_memory_}, |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 7db131985..874927311 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -38,7 +38,6 @@ | |||
| 38 | #include "video_core/vulkan_common/vulkan_device.h" | 38 | #include "video_core/vulkan_common/vulkan_device.h" |
| 39 | #include "video_core/vulkan_common/vulkan_wrapper.h" | 39 | #include "video_core/vulkan_common/vulkan_wrapper.h" |
| 40 | 40 | ||
| 41 | |||
| 42 | namespace Vulkan { | 41 | namespace Vulkan { |
| 43 | 42 | ||
| 44 | using Maxwell = Tegra::Engines::Maxwell3D::Regs; | 43 | using Maxwell = Tegra::Engines::Maxwell3D::Regs; |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h index d593f35df..881ee0993 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.h +++ b/src/video_core/renderer_vulkan/vk_rasterizer.h | |||
| @@ -7,13 +7,13 @@ | |||
| 7 | 7 | ||
| 8 | #include <boost/container/static_vector.hpp> | 8 | #include <boost/container/static_vector.hpp> |
| 9 | 9 | ||
| 10 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" | ||
| 11 | |||
| 12 | #include "common/common_types.h" | 10 | #include "common/common_types.h" |
| 13 | #include "video_core/control/channel_state_cache.h" | 11 | #include "video_core/control/channel_state_cache.h" |
| 14 | #include "video_core/engines/maxwell_dma.h" | 12 | #include "video_core/engines/maxwell_dma.h" |
| 13 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 15 | #include "video_core/rasterizer_interface.h" | 14 | #include "video_core/rasterizer_interface.h" |
| 16 | #include "video_core/renderer_vulkan/blit_image.h" | 15 | #include "video_core/renderer_vulkan/blit_image.h" |
| 16 | #include "video_core/renderer_vulkan/vk_buffer_cache.h" | ||
| 17 | #include "video_core/renderer_vulkan/vk_descriptor_pool.h" | 17 | #include "video_core/renderer_vulkan/vk_descriptor_pool.h" |
| 18 | #include "video_core/renderer_vulkan/vk_fence_manager.h" | 18 | #include "video_core/renderer_vulkan/vk_fence_manager.h" |
| 19 | #include "video_core/renderer_vulkan/vk_pipeline_cache.h" | 19 | #include "video_core/renderer_vulkan/vk_pipeline_cache.h" |
| @@ -24,7 +24,6 @@ | |||
| 24 | #include "video_core/renderer_vulkan/vk_update_descriptor.h" | 24 | #include "video_core/renderer_vulkan/vk_update_descriptor.h" |
| 25 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" | 25 | #include "video_core/vulkan_common/vulkan_memory_allocator.h" |
| 26 | #include "video_core/vulkan_common/vulkan_wrapper.h" | 26 | #include "video_core/vulkan_common/vulkan_wrapper.h" |
| 27 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 28 | 27 | ||
| 29 | namespace Core { | 28 | namespace Core { |
| 30 | class System; | 29 | class System; |
diff --git a/src/video_core/shader_cache.cpp b/src/video_core/shader_cache.cpp index 86fd62428..2af32c8f2 100644 --- a/src/video_core/shader_cache.cpp +++ b/src/video_core/shader_cache.cpp | |||
| @@ -35,7 +35,8 @@ void ShaderCache::SyncGuestHost() { | |||
| 35 | RemovePendingShaders(); | 35 | RemovePendingShaders(); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_) : device_memory{device_memory_} {} | 38 | ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_) |
| 39 | : device_memory{device_memory_} {} | ||
| 39 | 40 | ||
| 40 | bool ShaderCache::RefreshStages(std::array<u64, 6>& unique_hashes) { | 41 | bool ShaderCache::RefreshStages(std::array<u64, 6>& unique_hashes) { |
| 41 | auto& dirty{maxwell3d->dirty.flags}; | 42 | auto& dirty{maxwell3d->dirty.flags}; |
diff --git a/src/video_core/shader_cache.h b/src/video_core/shader_cache.h index 02ef39483..fd9bf2562 100644 --- a/src/video_core/shader_cache.h +++ b/src/video_core/shader_cache.h | |||
| @@ -14,9 +14,9 @@ | |||
| 14 | #include "common/common_types.h" | 14 | #include "common/common_types.h" |
| 15 | #include "common/polyfill_ranges.h" | 15 | #include "common/polyfill_ranges.h" |
| 16 | #include "video_core/control/channel_state_cache.h" | 16 | #include "video_core/control/channel_state_cache.h" |
| 17 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 17 | #include "video_core/rasterizer_interface.h" | 18 | #include "video_core/rasterizer_interface.h" |
| 18 | #include "video_core/shader_environment.h" | 19 | #include "video_core/shader_environment.h" |
| 19 | #include "video_core/host1x/gpu_device_memory_manager.h" | ||
| 20 | 20 | ||
| 21 | namespace Tegra { | 21 | namespace Tegra { |
| 22 | class MemoryManager; | 22 | class MemoryManager; |