Ryujinx/src/Ryujinx.Graphics.Vulkan
riperiperi e18d258fa0
GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711)
* WIP texture pre-flush

Improve performance of TextureView GetData to buffer

Fix copy/sync ordering

Fix minor bug

Make this actually work

WIP host mapping stuff

* Fix usage flags

* message

* Cleanup 1

* Fix rebase

* Fix

* Improve pre-flush rules

* Fix pre-flush

* A lot of cleanup

* Use the host memory bits

* Select the correct memory type

* Cleanup TextureGroupHandle

* Missing comment

* Remove debugging logs

* Revert BufferHandle _value access modifier

* One interrupt action at a time.

* Support D32S8 to D24S8 conversion, safeguards

* Interrupt cannot happen in sync handle's lock

Waitable needs to be checked twice now, but this should stop it from deadlocking.

* Remove unused using

* Address some feedback

* Address feedback

* Address more feedback

* Address more feedback

* Improve sync rules

Should allow for faster sync in some cases.
2023-05-01 16:05:12 -03:00
..
Effects Move solution and projects to src 2023-04-27 23:51:14 +02:00
MoltenVK Move solution and projects to src 2023-04-27 23:51:14 +02:00
Queries Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shaders GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Auto.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
AutoFlushCounter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BackgroundResources.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BitMap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferAllocationType.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferHolder.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
BufferManager.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
BufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
BufferUsageBitmap.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CacheByRange.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CommandBufferPool.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CommandBufferScoped.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Constants.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetCollection.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetManager.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DescriptorSetUpdater.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableBufferView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableFramebuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImage.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableImageView.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableMemory.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposablePipeline.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableRenderPass.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
DisposableSampler.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
EnumConversion.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
FenceHelper.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FenceHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatCapabilities.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FormatTable.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
FramebufferParams.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
HardwareCapabilities.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
HashTableSlim.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
HelperShader.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
HostMemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
IdList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferPattern.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IndexBufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MemoryAllocation.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocator.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
MemoryAllocatorBlockList.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
MultiFenceHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
NativeArray.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PersistentFlushBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineBase.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineConverter.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineDynamicState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineFull.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineHelperShader.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutCache.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutCacheEntry.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineLayoutFactory.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
PipelineUid.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Ryujinx.Graphics.Vulkan.csproj Move solution and projects to src 2023-04-27 23:51:14 +02:00
SamplerHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SemaphoreHolder.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Shader.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
ShaderCollection.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SpecInfo.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
StagingBuffer.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
SyncManager.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureBuffer.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
TextureCopy.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
TextureStorage.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
TextureView.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Vendor.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VertexBufferState.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanConfiguration.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanDebugMessenger.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanException.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanInitialization.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
VulkanInstance.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanPhysicalDevice.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VulkanRenderer.cs GPU: Pre-emptively flush textures that are flushed often (to imported memory when available) (#4711) 2023-05-01 16:05:12 -03:00
Window.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
WindowBase.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00