mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 18:54:14 +01:00 
			
		
		
		
	Core: Eliminate core/memory dependancies.
This commit is contained in:
		
							parent
							
								
									0672847330
								
							
						
					
					
						commit
						23430e6772
					
				| @ -15,6 +15,10 @@ | |||||||
| 
 | 
 | ||||||
| namespace Core { | namespace Core { | ||||||
| 
 | 
 | ||||||
|  | constexpr size_t DEVICE_PAGEBITS = 12ULL; | ||||||
|  | constexpr size_t DEVICE_PAGESIZE = 1ULL << DEVICE_PAGEBITS; | ||||||
|  | constexpr size_t DEVICE_PAGEMASK = DEVICE_PAGESIZE - 1ULL; | ||||||
|  | 
 | ||||||
| class DeviceMemory; | class DeviceMemory; | ||||||
| 
 | 
 | ||||||
| namespace Memory { | namespace Memory { | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
| #include <utility> | #include <utility> | ||||||
| #include <vector> | #include <vector> | ||||||
| 
 | 
 | ||||||
| #include "core/memory.h" | #include "core/device_memory_manager.h" | ||||||
| 
 | 
 | ||||||
| namespace Core { | namespace Core { | ||||||
| 
 | 
 | ||||||
| @ -80,7 +80,7 @@ private: | |||||||
|         u32 mask; |         u32 mask; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     constexpr static size_t page_bits = Memory::YUZU_PAGEBITS - 1; |     constexpr static size_t page_bits = DEVICE_PAGEBITS - 1; | ||||||
|     constexpr static size_t page_size = 1ULL << page_bits; |     constexpr static size_t page_size = 1ULL << page_bits; | ||||||
|     constexpr static size_t page_mask = page_size - 1; |     constexpr static size_t page_mask = page_size - 1; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -24,9 +24,8 @@ constexpr VAddr c = 16 * HIGH_PAGE_SIZE; | |||||||
| class RasterizerInterface { | class RasterizerInterface { | ||||||
| public: | public: | ||||||
|     void UpdatePagesCachedCount(VAddr addr, u64 size, int delta) { |     void UpdatePagesCachedCount(VAddr addr, u64 size, int delta) { | ||||||
|         const u64 page_start{addr >> Core::Memory::YUZU_PAGEBITS}; |         const u64 page_start{addr >> Core::DEVICE_PAGEBITS}; | ||||||
|         const u64 page_end{(addr + size + Core::Memory::YUZU_PAGESIZE - 1) >> |         const u64 page_end{(addr + size + Core::DEVICE_PAGESIZE - 1) >> Core::DEVICE_PAGEBITS}; | ||||||
|                            Core::Memory::YUZU_PAGEBITS}; |  | ||||||
|         for (u64 page = page_start; page < page_end; ++page) { |         for (u64 page = page_start; page < page_end; ++page) { | ||||||
|             int& value = page_table[page]; |             int& value = page_table[page]; | ||||||
|             value += delta; |             value += delta; | ||||||
| @ -40,7 +39,7 @@ public: | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     [[nodiscard]] int Count(VAddr addr) const noexcept { |     [[nodiscard]] int Count(VAddr addr) const noexcept { | ||||||
|         const auto it = page_table.find(addr >> Core::Memory::YUZU_PAGEBITS); |         const auto it = page_table.find(addr >> Core::DEVICE_PAGEBITS); | ||||||
|         return it == page_table.end() ? 0 : it->second; |         return it == page_table.end() ? 0 : it->second; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ | |||||||
| 
 | 
 | ||||||
| namespace VideoCommon { | namespace VideoCommon { | ||||||
| 
 | 
 | ||||||
| using Core::Memory::YUZU_PAGESIZE; | using Core::DEVICE_PAGESIZE; | ||||||
| 
 | 
 | ||||||
| template <class P> | template <class P> | ||||||
| BufferCache<P>::BufferCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, Runtime& runtime_) | BufferCache<P>::BufferCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, Runtime& runtime_) | ||||||
| @ -120,8 +120,8 @@ void BufferCache<P>::CachedWriteMemory(DAddr device_addr, u64 size) { | |||||||
|     if (!is_dirty) { |     if (!is_dirty) { | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
|     DAddr aligned_start = Common::AlignDown(device_addr, YUZU_PAGESIZE); |     DAddr aligned_start = Common::AlignDown(device_addr, DEVICE_PAGESIZE); | ||||||
|     DAddr aligned_end = Common::AlignUp(device_addr + size, YUZU_PAGESIZE); |     DAddr aligned_end = Common::AlignUp(device_addr + size, DEVICE_PAGESIZE); | ||||||
|     if (!IsRegionGpuModified(aligned_start, aligned_end - aligned_start)) { |     if (!IsRegionGpuModified(aligned_start, aligned_end - aligned_start)) { | ||||||
|         WriteMemory(device_addr, size); |         WriteMemory(device_addr, size); | ||||||
|         return; |         return; | ||||||
| @ -151,9 +151,8 @@ std::optional<VideoCore::RasterizerDownloadArea> BufferCache<P>::GetFlushArea(DA | |||||||
|                                                                               u64 size) { |                                                                               u64 size) { | ||||||
|     std::optional<VideoCore::RasterizerDownloadArea> area{}; |     std::optional<VideoCore::RasterizerDownloadArea> area{}; | ||||||
|     area.emplace(); |     area.emplace(); | ||||||
|     DAddr device_addr_start_aligned = Common::AlignDown(device_addr, Core::Memory::YUZU_PAGESIZE); |     DAddr device_addr_start_aligned = Common::AlignDown(device_addr, Core::DEVICE_PAGESIZE); | ||||||
|     DAddr device_addr_end_aligned = |     DAddr device_addr_end_aligned = Common::AlignUp(device_addr + size, Core::DEVICE_PAGESIZE); | ||||||
|         Common::AlignUp(device_addr + size, Core::Memory::YUZU_PAGESIZE); |  | ||||||
|     area->start_address = device_addr_start_aligned; |     area->start_address = device_addr_start_aligned; | ||||||
|     area->end_address = device_addr_end_aligned; |     area->end_address = device_addr_end_aligned; | ||||||
|     if (memory_tracker.IsRegionPreflushable(device_addr, size)) { |     if (memory_tracker.IsRegionPreflushable(device_addr, size)) { | ||||||
| @ -1354,10 +1353,10 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(DAddr dev | |||||||
|     int stream_score = 0; |     int stream_score = 0; | ||||||
|     bool has_stream_leap = false; |     bool has_stream_leap = false; | ||||||
|     auto expand_begin = [&](DAddr add_value) { |     auto expand_begin = [&](DAddr add_value) { | ||||||
|         static constexpr DAddr min_page = CACHING_PAGESIZE + Core::Memory::YUZU_PAGESIZE; |         static constexpr DAddr min_page = CACHING_PAGESIZE + Core::DEVICE_PAGESIZE; | ||||||
|         if (add_value > begin - min_page) { |         if (add_value > begin - min_page) { | ||||||
|             begin = min_page; |             begin = min_page; | ||||||
|             device_addr = Core::Memory::YUZU_PAGESIZE; |             device_addr = Core::DEVICE_PAGESIZE; | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         begin -= add_value; |         begin -= add_value; | ||||||
| @ -1587,8 +1586,8 @@ bool BufferCache<P>::InlineMemory(DAddr dest_address, size_t copy_size, | |||||||
|     if (!is_dirty) { |     if (!is_dirty) { | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
|     DAddr aligned_start = Common::AlignDown(dest_address, YUZU_PAGESIZE); |     DAddr aligned_start = Common::AlignDown(dest_address, DEVICE_PAGESIZE); | ||||||
|     DAddr aligned_end = Common::AlignUp(dest_address + copy_size, YUZU_PAGESIZE); |     DAddr aligned_end = Common::AlignUp(dest_address + copy_size, DEVICE_PAGESIZE); | ||||||
|     if (!IsRegionGpuModified(aligned_start, aligned_end - aligned_start)) { |     if (!IsRegionGpuModified(aligned_start, aligned_end - aligned_start)) { | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
| @ -1786,7 +1785,7 @@ Binding BufferCache<P>::StorageBufferBinding(GPUVAddr ssbo_addr, u32 cbuf_index, | |||||||
|     ASSERT_MSG(device_addr, "Unaligned storage buffer address not found for cbuf index {}", |     ASSERT_MSG(device_addr, "Unaligned storage buffer address not found for cbuf index {}", | ||||||
|                cbuf_index); |                cbuf_index); | ||||||
|     // The end address used for size calculation does not need to be aligned
 |     // The end address used for size calculation does not need to be aligned
 | ||||||
|     const DAddr cpu_end = Common::AlignUp(*device_addr + size, Core::Memory::YUZU_PAGESIZE); |     const DAddr cpu_end = Common::AlignUp(*device_addr + size, Core::DEVICE_PAGESIZE); | ||||||
| 
 | 
 | ||||||
|     const Binding binding{ |     const Binding binding{ | ||||||
|         .device_addr = *aligned_device_addr, |         .device_addr = *aligned_device_addr, | ||||||
|  | |||||||
| @ -449,8 +449,8 @@ private: | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     static bool IsRangeGranular(DAddr device_addr, size_t size) { |     static bool IsRangeGranular(DAddr device_addr, size_t size) { | ||||||
|         return (device_addr & ~Core::Memory::YUZU_PAGEMASK) == |         return (device_addr & ~Core::DEVICE_PAGEMASK) == | ||||||
|                ((device_addr + size) & ~Core::Memory::YUZU_PAGEMASK); |                ((device_addr + size) & ~Core::DEVICE_PAGEMASK); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     void RunGarbageCollector(); |     void RunGarbageCollector(); | ||||||
|  | |||||||
| @ -13,12 +13,12 @@ | |||||||
| #include "common/common_funcs.h" | #include "common/common_funcs.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "common/div_ceil.h" | #include "common/div_ceil.h" | ||||||
| #include "core/memory.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
| 
 | 
 | ||||||
| namespace VideoCommon { | namespace VideoCommon { | ||||||
| 
 | 
 | ||||||
| constexpr u64 PAGES_PER_WORD = 64; | constexpr u64 PAGES_PER_WORD = 64; | ||||||
| constexpr u64 BYTES_PER_PAGE = Core::Memory::YUZU_PAGESIZE; | constexpr u64 BYTES_PER_PAGE = Core::DEVICE_PAGESIZE; | ||||||
| constexpr u64 BYTES_PER_WORD = PAGES_PER_WORD * BYTES_PER_PAGE; | constexpr u64 BYTES_PER_WORD = PAGES_PER_WORD * BYTES_PER_PAGE; | ||||||
| 
 | 
 | ||||||
| enum class Type { | enum class Type { | ||||||
|  | |||||||
| @ -9,7 +9,6 @@ | |||||||
| #include "common/settings.h" | #include "common/settings.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/dirty_flags.h" | #include "video_core/dirty_flags.h" | ||||||
| #include "video_core/engines/draw_manager.h" | #include "video_core/engines/draw_manager.h" | ||||||
| #include "video_core/engines/maxwell_3d.h" | #include "video_core/engines/maxwell_3d.h" | ||||||
|  | |||||||
| @ -8,7 +8,6 @@ | |||||||
| #include "common/polyfill_ranges.h" | #include "common/polyfill_ranges.h" | ||||||
| #include "common/settings.h" | #include "common/settings.h" | ||||||
| #include "core/core.h" | #include "core/core.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/engines/maxwell_3d.h" | #include "video_core/engines/maxwell_3d.h" | ||||||
| #include "video_core/engines/maxwell_dma.h" | #include "video_core/engines/maxwell_dma.h" | ||||||
| #include "video_core/guest_memory.h" | #include "video_core/guest_memory.h" | ||||||
|  | |||||||
| @ -606,14 +606,14 @@ bool MemoryManager::IsGranularRange(GPUVAddr gpu_addr, std::size_t size) const { | |||||||
|             const std::size_t page{(page_index & big_page_mask) + size}; |             const std::size_t page{(page_index & big_page_mask) + size}; | ||||||
|             return page <= big_page_size; |             return page <= big_page_size; | ||||||
|         } |         } | ||||||
|         const std::size_t page{(gpu_addr & Core::Memory::YUZU_PAGEMASK) + size}; |         const std::size_t page{(gpu_addr & Core::DEVICE_PAGEMASK) + size}; | ||||||
|         return page <= Core::Memory::YUZU_PAGESIZE; |         return page <= Core::DEVICE_PAGESIZE; | ||||||
|     } |     } | ||||||
|     if (GetEntry<false>(gpu_addr) != EntryType::Mapped) { |     if (GetEntry<false>(gpu_addr) != EntryType::Mapped) { | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
|     const std::size_t page{(gpu_addr & Core::Memory::YUZU_PAGEMASK) + size}; |     const std::size_t page{(gpu_addr & Core::DEVICE_PAGEMASK) + size}; | ||||||
|     return page <= Core::Memory::YUZU_PAGESIZE; |     return page <= Core::DEVICE_PAGESIZE; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool MemoryManager::IsContinuousRange(GPUVAddr gpu_addr, std::size_t size) const { | bool MemoryManager::IsContinuousRange(GPUVAddr gpu_addr, std::size_t size) const { | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| #include "common/range_map.h" | #include "common/range_map.h" | ||||||
| #include "common/scratch_buffer.h" | #include "common/scratch_buffer.h" | ||||||
| #include "common/virtual_buffer.h" | #include "common/virtual_buffer.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/cache_types.h" | #include "video_core/cache_types.h" | ||||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
| #include "video_core/pte_kind.h" | #include "video_core/pte_kind.h" | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ | |||||||
| 
 | 
 | ||||||
| #include "common/assert.h" | #include "common/assert.h" | ||||||
| #include "common/settings.h" | #include "common/settings.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/control/channel_state_cache.h" | #include "video_core/control/channel_state_cache.h" | ||||||
| #include "video_core/engines/maxwell_3d.h" | #include "video_core/engines/maxwell_3d.h" | ||||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| #include "common/scope_exit.h" | #include "common/scope_exit.h" | ||||||
| #include "common/settings.h" | #include "common/settings.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/engines/maxwell_3d.h" | #include "video_core/engines/maxwell_3d.h" | ||||||
| #include "video_core/gpu.h" | #include "video_core/gpu.h" | ||||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
| @ -253,8 +252,8 @@ void QueryCacheBase<Traits>::CounterReport(GPUVAddr addr, QueryType counter_type | |||||||
|     query_location.stream_id.Assign(static_cast<u32>(streamer_id)); |     query_location.stream_id.Assign(static_cast<u32>(streamer_id)); | ||||||
|     query_location.query_id.Assign(static_cast<u32>(new_query_id)); |     query_location.query_id.Assign(static_cast<u32>(new_query_id)); | ||||||
|     const auto gen_caching_indexing = [](VAddr cur_addr) { |     const auto gen_caching_indexing = [](VAddr cur_addr) { | ||||||
|         return std::make_pair<u64, u32>(cur_addr >> Core::Memory::YUZU_PAGEBITS, |         return std::make_pair<u64, u32>(cur_addr >> Core::DEVICE_PAGEBITS, | ||||||
|                                         static_cast<u32>(cur_addr & Core::Memory::YUZU_PAGEMASK)); |                                         static_cast<u32>(cur_addr & Core::DEVICE_PAGEMASK)); | ||||||
|     }; |     }; | ||||||
|     u8* pointer = impl->device_memory.template GetPointer<u8>(cpu_addr); |     u8* pointer = impl->device_memory.template GetPointer<u8>(cpu_addr); | ||||||
|     u8* pointer_timestamp = impl->device_memory.template GetPointer<u8>(cpu_addr + 8); |     u8* pointer_timestamp = impl->device_memory.template GetPointer<u8>(cpu_addr + 8); | ||||||
| @ -325,8 +324,8 @@ void QueryCacheBase<Traits>::CounterReport(GPUVAddr addr, QueryType counter_type | |||||||
| template <typename Traits> | template <typename Traits> | ||||||
| void QueryCacheBase<Traits>::UnregisterPending() { | void QueryCacheBase<Traits>::UnregisterPending() { | ||||||
|     const auto gen_caching_indexing = [](VAddr cur_addr) { |     const auto gen_caching_indexing = [](VAddr cur_addr) { | ||||||
|         return std::make_pair<u64, u32>(cur_addr >> Core::Memory::YUZU_PAGEBITS, |         return std::make_pair<u64, u32>(cur_addr >> Core::DEVICE_PAGEBITS, | ||||||
|                                         static_cast<u32>(cur_addr & Core::Memory::YUZU_PAGEMASK)); |                                         static_cast<u32>(cur_addr & Core::DEVICE_PAGEMASK)); | ||||||
|     }; |     }; | ||||||
|     std::scoped_lock lock(cache_mutex); |     std::scoped_lock lock(cache_mutex); | ||||||
|     for (QueryLocation loc : impl->pending_unregister) { |     for (QueryLocation loc : impl->pending_unregister) { | ||||||
| @ -390,7 +389,7 @@ bool QueryCacheBase<Traits>::AccelerateHostConditionalRendering() { | |||||||
|         } |         } | ||||||
|         VAddr cpu_addr = *cpu_addr_opt; |         VAddr cpu_addr = *cpu_addr_opt; | ||||||
|         std::scoped_lock lock(cache_mutex); |         std::scoped_lock lock(cache_mutex); | ||||||
|         auto it1 = cached_queries.find(cpu_addr >> Core::Memory::YUZU_PAGEBITS); |         auto it1 = cached_queries.find(cpu_addr >> Core::DEVICE_PAGEBITS); | ||||||
|         if (it1 == cached_queries.end()) { |         if (it1 == cached_queries.end()) { | ||||||
|             return VideoCommon::LookupData{ |             return VideoCommon::LookupData{ | ||||||
|                 .address = cpu_addr, |                 .address = cpu_addr, | ||||||
| @ -398,10 +397,10 @@ bool QueryCacheBase<Traits>::AccelerateHostConditionalRendering() { | |||||||
|             }; |             }; | ||||||
|         } |         } | ||||||
|         auto& sub_container = it1->second; |         auto& sub_container = it1->second; | ||||||
|         auto it_current = sub_container.find(cpu_addr & Core::Memory::YUZU_PAGEMASK); |         auto it_current = sub_container.find(cpu_addr & Core::DEVICE_PAGEMASK); | ||||||
| 
 | 
 | ||||||
|         if (it_current == sub_container.end()) { |         if (it_current == sub_container.end()) { | ||||||
|             auto it_current_2 = sub_container.find((cpu_addr & Core::Memory::YUZU_PAGEMASK) + 4); |             auto it_current_2 = sub_container.find((cpu_addr & Core::DEVICE_PAGEMASK) + 4); | ||||||
|             if (it_current_2 == sub_container.end()) { |             if (it_current_2 == sub_container.end()) { | ||||||
|                 return VideoCommon::LookupData{ |                 return VideoCommon::LookupData{ | ||||||
|                     .address = cpu_addr, |                     .address = cpu_addr, | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| #include "common/assert.h" | #include "common/assert.h" | ||||||
| #include "common/bit_field.h" | #include "common/bit_field.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/control/channel_state_cache.h" | #include "video_core/control/channel_state_cache.h" | ||||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
| #include "video_core/query_cache/query_base.h" | #include "video_core/query_cache/query_base.h" | ||||||
| @ -123,10 +122,10 @@ protected: | |||||||
|         const u64 addr_begin = addr; |         const u64 addr_begin = addr; | ||||||
|         const u64 addr_end = addr_begin + size; |         const u64 addr_end = addr_begin + size; | ||||||
| 
 | 
 | ||||||
|         const u64 page_end = addr_end >> Core::Memory::YUZU_PAGEBITS; |         const u64 page_end = addr_end >> Core::DEVICE_PAGEBITS; | ||||||
|         std::scoped_lock lock(cache_mutex); |         std::scoped_lock lock(cache_mutex); | ||||||
|         for (u64 page = addr_begin >> Core::Memory::YUZU_PAGEBITS; page <= page_end; ++page) { |         for (u64 page = addr_begin >> Core::DEVICE_PAGEBITS; page <= page_end; ++page) { | ||||||
|             const u64 page_start = page << Core::Memory::YUZU_PAGEBITS; |             const u64 page_start = page << Core::DEVICE_PAGEBITS; | ||||||
|             const auto in_range = [page_start, addr_begin, addr_end](const u32 query_location) { |             const auto in_range = [page_start, addr_begin, addr_end](const u32 query_location) { | ||||||
|                 const u64 cache_begin = page_start + query_location; |                 const u64 cache_begin = page_start + query_location; | ||||||
|                 const u64 cache_end = cache_begin + sizeof(u32); |                 const u64 cache_end = cache_begin + sizeof(u32); | ||||||
|  | |||||||
| @ -2,7 +2,6 @@ | |||||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||||
| 
 | 
 | ||||||
| #include "common/alignment.h" | #include "common/alignment.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/control/channel_state.h" | #include "video_core/control/channel_state.h" | ||||||
| #include "video_core/host1x/host1x.h" | #include "video_core/host1x/host1x.h" | ||||||
| #include "video_core/memory_manager.h" | #include "video_core/memory_manager.h" | ||||||
| @ -55,8 +54,8 @@ bool RasterizerNull::OnCPUWrite(PAddr addr, u64 size) { | |||||||
| void RasterizerNull::OnCacheInvalidation(PAddr addr, u64 size) {} | void RasterizerNull::OnCacheInvalidation(PAddr addr, u64 size) {} | ||||||
| VideoCore::RasterizerDownloadArea RasterizerNull::GetFlushArea(PAddr addr, u64 size) { | VideoCore::RasterizerDownloadArea RasterizerNull::GetFlushArea(PAddr addr, u64 size) { | ||||||
|     VideoCore::RasterizerDownloadArea new_area{ |     VideoCore::RasterizerDownloadArea new_area{ | ||||||
|         .start_address = Common::AlignDown(addr, Core::Memory::YUZU_PAGESIZE), |         .start_address = Common::AlignDown(addr, Core::DEVICE_PAGESIZE), | ||||||
|         .end_address = Common::AlignUp(addr + size, Core::Memory::YUZU_PAGESIZE), |         .end_address = Common::AlignUp(addr + size, Core::DEVICE_PAGESIZE), | ||||||
|         .preemtive = true, |         .preemtive = true, | ||||||
|     }; |     }; | ||||||
|     return new_area; |     return new_area; | ||||||
|  | |||||||
| @ -526,8 +526,8 @@ VideoCore::RasterizerDownloadArea RasterizerOpenGL::GetFlushArea(DAddr addr, u64 | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     VideoCore::RasterizerDownloadArea new_area{ |     VideoCore::RasterizerDownloadArea new_area{ | ||||||
|         .start_address = Common::AlignDown(addr, Core::Memory::YUZU_PAGESIZE), |         .start_address = Common::AlignDown(addr, Core::DEVICE_PAGESIZE), | ||||||
|         .end_address = Common::AlignUp(addr + size, Core::Memory::YUZU_PAGESIZE), |         .end_address = Common::AlignUp(addr + size, Core::DEVICE_PAGESIZE), | ||||||
|         .preemtive = true, |         .preemtive = true, | ||||||
|     }; |     }; | ||||||
|     return new_area; |     return new_area; | ||||||
|  | |||||||
| @ -15,7 +15,6 @@ | |||||||
| #include "common/telemetry.h" | #include "common/telemetry.h" | ||||||
| #include "core/core_timing.h" | #include "core/core_timing.h" | ||||||
| #include "core/frontend/emu_window.h" | #include "core/frontend/emu_window.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "core/telemetry_session.h" | #include "core/telemetry_session.h" | ||||||
| #include "video_core/host_shaders/ffx_a_h.h" | #include "video_core/host_shaders/ffx_a_h.h" | ||||||
| #include "video_core/host_shaders/ffx_fsr1_h.h" | #include "video_core/host_shaders/ffx_fsr1_h.h" | ||||||
|  | |||||||
| @ -12,7 +12,6 @@ | |||||||
| #include "shader_recompiler/shader_info.h" | #include "shader_recompiler/shader_info.h" | ||||||
| #include "video_core/renderer_vulkan/vk_texture_cache.h" | #include "video_core/renderer_vulkan/vk_texture_cache.h" | ||||||
| #include "video_core/renderer_vulkan/vk_update_descriptor.h" | #include "video_core/renderer_vulkan/vk_update_descriptor.h" | ||||||
| #include "video_core/texture_cache/texture_cache.h" |  | ||||||
| #include "video_core/texture_cache/types.h" | #include "video_core/texture_cache/types.h" | ||||||
| #include "video_core/vulkan_common/vulkan_device.h" | #include "video_core/vulkan_common/vulkan_device.h" | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -19,6 +19,7 @@ | |||||||
| #include "video_core/renderer_vulkan/vk_texture_cache.h" | #include "video_core/renderer_vulkan/vk_texture_cache.h" | ||||||
| #include "video_core/renderer_vulkan/vk_update_descriptor.h" | #include "video_core/renderer_vulkan/vk_update_descriptor.h" | ||||||
| #include "video_core/shader_notify.h" | #include "video_core/shader_notify.h" | ||||||
|  | #include "video_core/texture_cache/texture_cache.h" | ||||||
| #include "video_core/vulkan_common/vulkan_device.h" | #include "video_core/vulkan_common/vulkan_device.h" | ||||||
| 
 | 
 | ||||||
| #if defined(_MSC_VER) && defined(NDEBUG) | #if defined(_MSC_VER) && defined(NDEBUG) | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ | |||||||
| 
 | 
 | ||||||
| #include "common/bit_util.h" | #include "common/bit_util.h" | ||||||
| #include "common/common_types.h" | #include "common/common_types.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/engines/draw_manager.h" | #include "video_core/engines/draw_manager.h" | ||||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | #include "video_core/host1x/gpu_device_memory_manager.h" | ||||||
| #include "video_core/query_cache/query_cache.h" | #include "video_core/query_cache/query_cache.h" | ||||||
| @ -1482,8 +1481,8 @@ void QueryCacheRuntime::SyncValues(std::span<SyncValuesType> values, VkBuffer ba | |||||||
|     for (auto& sync_val : values) { |     for (auto& sync_val : values) { | ||||||
|         total_size += sync_val.size; |         total_size += sync_val.size; | ||||||
|         bool found = false; |         bool found = false; | ||||||
|         DAddr base = Common::AlignDown(sync_val.address, Core::Memory::YUZU_PAGESIZE); |         DAddr base = Common::AlignDown(sync_val.address, Core::DEVICE_PAGESIZE); | ||||||
|         DAddr base_end = base + Core::Memory::YUZU_PAGESIZE; |         DAddr base_end = base + Core::DEVICE_PAGESIZE; | ||||||
|         for (size_t i = 0; i < impl->little_cache.size(); i++) { |         for (size_t i = 0; i < impl->little_cache.size(); i++) { | ||||||
|             const auto set_found = [&] { |             const auto set_found = [&] { | ||||||
|                 impl->redirect_cache.push_back(i); |                 impl->redirect_cache.push_back(i); | ||||||
|  | |||||||
| @ -553,8 +553,8 @@ VideoCore::RasterizerDownloadArea RasterizerVulkan::GetFlushArea(DAddr addr, u64 | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     VideoCore::RasterizerDownloadArea new_area{ |     VideoCore::RasterizerDownloadArea new_area{ | ||||||
|         .start_address = Common::AlignDown(addr, Core::Memory::YUZU_PAGESIZE), |         .start_address = Common::AlignDown(addr, Core::DEVICE_PAGESIZE), | ||||||
|         .end_address = Common::AlignUp(addr + size, Core::Memory::YUZU_PAGESIZE), |         .end_address = Common::AlignUp(addr + size, Core::DEVICE_PAGESIZE), | ||||||
|         .preemtive = true, |         .preemtive = true, | ||||||
|     }; |     }; | ||||||
|     return new_area; |     return new_area; | ||||||
|  | |||||||
| @ -20,7 +20,6 @@ | |||||||
| #include "common/div_ceil.h" | #include "common/div_ceil.h" | ||||||
| #include "common/scratch_buffer.h" | #include "common/scratch_buffer.h" | ||||||
| #include "common/settings.h" | #include "common/settings.h" | ||||||
| #include "core/memory.h" |  | ||||||
| #include "video_core/compatible_formats.h" | #include "video_core/compatible_formats.h" | ||||||
| #include "video_core/engines/maxwell_3d.h" | #include "video_core/engines/maxwell_3d.h" | ||||||
| #include "video_core/guest_memory.h" | #include "video_core/guest_memory.h" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user