mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-30 18:24:15 +01:00 
			
		
		
		
	VideoCore: Move Slot Vector to Common
This commit is contained in:
		
							parent
							
								
									5da55cbac9
								
							
						
					
					
						commit
						4841dc0b74
					
				| @ -121,6 +121,7 @@ add_library(common STATIC | ||||
|     settings_input.cpp | ||||
|     settings_input.h | ||||
|     settings_setting.h | ||||
|     slot_vector.h | ||||
|     socket_types.h | ||||
|     spin_lock.cpp | ||||
|     spin_lock.h | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| #include "common/common_types.h" | ||||
| #include "common/polyfill_ranges.h" | ||||
| 
 | ||||
| namespace VideoCommon { | ||||
| namespace Common { | ||||
| 
 | ||||
| struct SlotId { | ||||
|     static constexpr u32 INVALID_INDEX = std::numeric_limits<u32>::max(); | ||||
| @ -217,11 +217,11 @@ private: | ||||
|     std::vector<u32> free_list; | ||||
| }; | ||||
| 
 | ||||
| } // namespace VideoCommon
 | ||||
| } // namespace Common
 | ||||
| 
 | ||||
| template <> | ||||
| struct std::hash<VideoCommon::SlotId> { | ||||
|     size_t operator()(const VideoCommon::SlotId& id) const noexcept { | ||||
| struct std::hash<Common::SlotId> { | ||||
|     size_t operator()(const Common::SlotId& id) const noexcept { | ||||
|         return std::hash<u32>{}(id.index); | ||||
|     } | ||||
| }; | ||||
| @ -274,7 +274,6 @@ add_library(video_core STATIC | ||||
|     texture_cache/image_view_info.h | ||||
|     texture_cache/render_targets.h | ||||
|     texture_cache/samples_helper.h | ||||
|     texture_cache/slot_vector.h | ||||
|     texture_cache/texture_cache.cpp | ||||
|     texture_cache/texture_cache.h | ||||
|     texture_cache/texture_cache_base.h | ||||
|  | ||||
| @ -41,7 +41,7 @@ | ||||
| #include "video_core/engines/maxwell_3d.h" | ||||
| #include "video_core/memory_manager.h" | ||||
| #include "video_core/surface.h" | ||||
| #include "video_core/texture_cache/slot_vector.h" | ||||
| #include "common/slot_vector.h" | ||||
| #include "video_core/texture_cache/types.h" | ||||
| 
 | ||||
| namespace boost { | ||||
| @ -55,7 +55,7 @@ MICROPROFILE_DECLARE(GPU_PrepareBuffers); | ||||
| MICROPROFILE_DECLARE(GPU_BindUploadBuffers); | ||||
| MICROPROFILE_DECLARE(GPU_DownloadMemory); | ||||
| 
 | ||||
| using BufferId = SlotId; | ||||
| using BufferId = Common::SlotId; | ||||
| 
 | ||||
| using VideoCore::Surface::PixelFormat; | ||||
| using namespace Common::Literals; | ||||
| @ -559,7 +559,7 @@ private: | ||||
| 
 | ||||
|     Tegra::MaxwellDeviceMemoryManager& device_memory; | ||||
| 
 | ||||
|     SlotVector<Buffer> slot_buffers; | ||||
|     Common::SlotVector<Buffer> slot_buffers; | ||||
|     DelayedDestructionRing<Buffer, 8> delayed_destruction_ring; | ||||
| 
 | ||||
|     const Tegra::Engines::DrawManager::IndirectParams* current_draw_indirect{}; | ||||
|  | ||||
| @ -18,12 +18,12 @@ | ||||
| 
 | ||||
| #include "common/assert.h" | ||||
| #include "common/settings.h" | ||||
| #include "common/slot_vector.h" | ||||
| #include "video_core/control/channel_state_cache.h" | ||||
| #include "video_core/engines/maxwell_3d.h" | ||||
| #include "video_core/host1x/gpu_device_memory_manager.h" | ||||
| #include "video_core/memory_manager.h" | ||||
| #include "video_core/rasterizer_interface.h" | ||||
| #include "video_core/texture_cache/slot_vector.h" | ||||
| 
 | ||||
| namespace VideoCore { | ||||
| enum class QueryType { | ||||
| @ -37,7 +37,7 @@ constexpr std::size_t NumQueryTypes = static_cast<size_t>(QueryType::Count); | ||||
| 
 | ||||
| namespace VideoCommon { | ||||
| 
 | ||||
| using AsyncJobId = SlotId; | ||||
| using AsyncJobId = Common::SlotId; | ||||
| 
 | ||||
| static constexpr AsyncJobId NULL_ASYNC_JOB_ID{0}; | ||||
| 
 | ||||
| @ -341,7 +341,7 @@ private: | ||||
|     static constexpr std::uintptr_t YUZU_PAGESIZE = 4096; | ||||
|     static constexpr unsigned YUZU_PAGEBITS = 12; | ||||
| 
 | ||||
|     SlotVector<AsyncJob> slot_async_jobs; | ||||
|     Common::SlotVector<AsyncJob> slot_async_jobs; | ||||
| 
 | ||||
|     VideoCore::RasterizerInterface& rasterizer; | ||||
|     Tegra::MaxwellDeviceMemoryManager& device_memory; | ||||
|  | ||||
| @ -90,7 +90,7 @@ public: | ||||
|     void PostCopyBarrier(); | ||||
|     void Finish(); | ||||
| 
 | ||||
|     void TickFrame(VideoCommon::SlotVector<Buffer>&) noexcept {} | ||||
|     void TickFrame(Common::SlotVector<Buffer>&) noexcept {} | ||||
| 
 | ||||
|     void ClearBuffer(Buffer& dest_buffer, u32 offset, size_t size, u32 value); | ||||
| 
 | ||||
|  | ||||
| @ -30,13 +30,13 @@ class Image; | ||||
| class ImageView; | ||||
| class Sampler; | ||||
| 
 | ||||
| using Common::SlotVector; | ||||
| using VideoCommon::ImageId; | ||||
| using VideoCommon::ImageViewId; | ||||
| using VideoCommon::ImageViewType; | ||||
| using VideoCommon::NUM_RT; | ||||
| using VideoCommon::Region2D; | ||||
| using VideoCommon::RenderTargets; | ||||
| using VideoCommon::SlotVector; | ||||
| 
 | ||||
| struct FormatProperties { | ||||
|     GLenum compatibility_class; | ||||
|  | ||||
| @ -368,7 +368,7 @@ u32 BufferCacheRuntime::GetStorageBufferAlignment() const { | ||||
|     return static_cast<u32>(device.GetStorageBufferAlignment()); | ||||
| } | ||||
| 
 | ||||
| void BufferCacheRuntime::TickFrame(VideoCommon::SlotVector<Buffer>& slot_buffers) noexcept { | ||||
| void BufferCacheRuntime::TickFrame(Common::SlotVector<Buffer>& slot_buffers) noexcept { | ||||
|     for (auto it = slot_buffers.begin(); it != slot_buffers.end(); it++) { | ||||
|         it->ResetUsageTracking(); | ||||
|     } | ||||
|  | ||||
| @ -81,7 +81,7 @@ public: | ||||
|                                 ComputePassDescriptorQueue& compute_pass_descriptor_queue, | ||||
|                                 DescriptorPool& descriptor_pool); | ||||
| 
 | ||||
|     void TickFrame(VideoCommon::SlotVector<Buffer>& slot_buffers) noexcept; | ||||
|     void TickFrame(Common::SlotVector<Buffer>& slot_buffers) noexcept; | ||||
| 
 | ||||
|     void Finish(); | ||||
| 
 | ||||
|  | ||||
| @ -20,11 +20,11 @@ struct ResolutionScalingInfo; | ||||
| 
 | ||||
| namespace Vulkan { | ||||
| 
 | ||||
| using Common::SlotVector; | ||||
| using VideoCommon::ImageId; | ||||
| using VideoCommon::NUM_RT; | ||||
| using VideoCommon::Region2D; | ||||
| using VideoCommon::RenderTargets; | ||||
| using VideoCommon::SlotVector; | ||||
| using VideoCore::Surface::PixelFormat; | ||||
| 
 | ||||
| class BlitImageHelper; | ||||
|  | ||||
| @ -21,6 +21,7 @@ | ||||
| #include "common/lru_cache.h" | ||||
| #include "common/polyfill_ranges.h" | ||||
| #include "common/scratch_buffer.h" | ||||
| #include "common/slot_vector.h" | ||||
| #include "common/thread_worker.h" | ||||
| #include "video_core/compatible_formats.h" | ||||
| #include "video_core/control/channel_state_cache.h" | ||||
| @ -32,7 +33,6 @@ | ||||
| #include "video_core/texture_cache/image_info.h" | ||||
| #include "video_core/texture_cache/image_view_base.h" | ||||
| #include "video_core/texture_cache/render_targets.h" | ||||
| #include "video_core/texture_cache/slot_vector.h" | ||||
| #include "video_core/texture_cache/types.h" | ||||
| #include "video_core/textures/texture.h" | ||||
| 
 | ||||
| @ -451,16 +451,16 @@ private: | ||||
|     struct PendingDownload { | ||||
|         bool is_swizzle; | ||||
|         size_t async_buffer_id; | ||||
|         SlotId object_id; | ||||
|         Common::SlotId object_id; | ||||
|     }; | ||||
| 
 | ||||
|     SlotVector<Image> slot_images; | ||||
|     SlotVector<ImageMapView> slot_map_views; | ||||
|     SlotVector<ImageView> slot_image_views; | ||||
|     SlotVector<ImageAlloc> slot_image_allocs; | ||||
|     SlotVector<Sampler> slot_samplers; | ||||
|     SlotVector<Framebuffer> slot_framebuffers; | ||||
|     SlotVector<BufferDownload> slot_buffer_downloads; | ||||
|     Common::SlotVector<Image> slot_images; | ||||
|     Common::SlotVector<ImageMapView> slot_map_views; | ||||
|     Common::SlotVector<ImageView> slot_image_views; | ||||
|     Common::SlotVector<ImageAlloc> slot_image_allocs; | ||||
|     Common::SlotVector<Sampler> slot_samplers; | ||||
|     Common::SlotVector<Framebuffer> slot_framebuffers; | ||||
|     Common::SlotVector<BufferDownload> slot_buffer_downloads; | ||||
| 
 | ||||
|     // TODO: This data structure is not optimal and it should be reworked
 | ||||
| 
 | ||||
|  | ||||
| @ -5,21 +5,21 @@ | ||||
| 
 | ||||
| #include "common/common_funcs.h" | ||||
| #include "common/common_types.h" | ||||
| #include "video_core/texture_cache/slot_vector.h" | ||||
| #include "common/slot_vector.h" | ||||
| 
 | ||||
| namespace VideoCommon { | ||||
| 
 | ||||
| constexpr size_t NUM_RT = 8; | ||||
| constexpr size_t MAX_MIP_LEVELS = 14; | ||||
| 
 | ||||
| constexpr SlotId CORRUPT_ID{0xfffffffe}; | ||||
| constexpr Common::SlotId CORRUPT_ID{0xfffffffe}; | ||||
| 
 | ||||
| using ImageId = SlotId; | ||||
| using ImageMapId = SlotId; | ||||
| using ImageViewId = SlotId; | ||||
| using ImageAllocId = SlotId; | ||||
| using SamplerId = SlotId; | ||||
| using FramebufferId = SlotId; | ||||
| using ImageId = Common::SlotId; | ||||
| using ImageMapId = Common::SlotId; | ||||
| using ImageViewId = Common::SlotId; | ||||
| using ImageAllocId = Common::SlotId; | ||||
| using SamplerId = Common::SlotId; | ||||
| using FramebufferId = Common::SlotId; | ||||
| 
 | ||||
| /// Fake image ID for null image views
 | ||||
| constexpr ImageId NULL_IMAGE_ID{0}; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user