ryujinx/Ryujinx.Graphics.Vulkan
riperiperi de3134adbe
Vulkan: Explicitly enable precise occlusion queries (#4292)
The only guarantee of the occlusion query type in Vulkan is that it will be zero when no samples pass, and non-zero when any samples pass. Of course, most GPUs implement this by just placing the # of samples in the result and calling it a day. However, this lax restriction means that GPUs could just report a boolean (1/0) or report a value after one is recorded, but before all samples have been counted.

MoltenVK falls in the first category - by default it only reports 1/0 for occlusion queries. Thankfully, there is a feature and flag that you can use to force compatible drivers to provide a "precise" query result, that being the real # of samples passed.

Should fix ink collision in Splatoon 2/3 on MoltenVK.
2023-01-19 00:30:42 +00:00
..
MoltenVK Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
Queries chore: Update Silk.NET to 2.16.0 (#3953) 2022-12-01 19:11:56 +01:00
Shaders Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
Auto.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AutoFlushCounter.cs Periodically Flush Commands for Vulkan (#3689) 2022-09-14 13:48:31 -03:00
BackgroundResources.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
BitMap.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
BufferHolder.cs Fix Redundant Qualifer Warnings (#4091) 2022-12-10 21:21:13 +01:00
BufferManager.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
BufferState.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
BufferUsageBitmap.cs Support use of buffer ranges with size 0 (#3736) 2022-10-03 20:08:38 -03:00
CacheByRange.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
CommandBufferPool.cs Vulkan: Don't flush commands when creating most sync (#4087) 2022-12-29 15:39:04 +01:00
CommandBufferScoped.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Constants.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetCollection.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetUpdater.cs Fix Redundant Qualifer Warnings (#4091) 2022-12-10 21:21:13 +01:00
DisposableBuffer.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableBufferView.cs Fix Redundant Qualifer Warnings (#4091) 2022-12-10 21:21:13 +01:00
DisposableFramebuffer.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableImage.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableImageView.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableMemory.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposablePipeline.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableRenderPass.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DisposableSampler.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
EnumConversion.cs chore: Update Silk.NET to 2.16.0 (#3953) 2022-12-01 19:11:56 +01:00
FenceHelper.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatCapabilities.cs chore: Update Silk.NET to 2.16.0 (#3953) 2022-12-01 19:11:56 +01:00
FormatConverter.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatTable.cs Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02:00
FramebufferParams.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
HardwareCapabilities.cs Vulkan: Explicitly enable precise occlusion queries (#4292) 2023-01-19 00:30:42 +00:00
HashTableSlim.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
HelperShader.cs Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
IdList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
IndexBufferPattern.cs Fix primitive count calculation for topology conversion (#3763) 2022-10-16 19:25:40 -03:00
IndexBufferState.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
MemoryAllocation.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
MemoryAllocator.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
MemoryAllocatorBlockList.cs Added Generic Math to BitUtils (#3929) 2022-12-26 14:11:05 +00:00
MultiFenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
NativeArray.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
PersistentFlushBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineBase.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
PipelineConverter.cs Implement non-MS to MS copies with draws (#3958) 2022-12-04 15:07:11 -03:00
PipelineDynamicState.cs chore: Update Silk.NET to 2.16.0 (#3953) 2022-12-01 19:11:56 +01:00
PipelineFull.cs Vulkan: Explicitly enable precise occlusion queries (#4292) 2023-01-19 00:30:42 +00:00
PipelineHelperShader.cs Implement non-MS to MS copies with draws (#3958) 2022-12-04 15:07:11 -03:00
PipelineLayoutCache.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineLayoutCacheEntry.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineLayoutFactory.cs Fix Redundant Qualifer Warnings (#4091) 2022-12-10 21:21:13 +01:00
PipelineState.cs Implement non-MS to MS copies with draws (#3958) 2022-12-04 15:07:11 -03:00
PipelineUid.cs Minor improvement to Vulkan pipeline state and bindings management (#3829) 2022-11-10 13:38:38 -03:00
Ryujinx.Graphics.Vulkan.csproj Use NuGet Central Package Management to manage package versions solution-wise (#4095) 2022-12-12 16:03:10 +01:00
SamplerHolder.cs Vulkan: Fix sampler custom border color (#3751) 2022-10-10 08:35:44 +02:00
SemaphoreHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Shader.cs Avoid allocating unmanaged string per shader (#3730) 2022-10-02 10:59:34 +02:00
ShaderCollection.cs chore: Update Silk.NET to 2.16.0 (#3953) 2022-12-01 19:11:56 +01:00
SpecInfo.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
StagingBuffer.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
SyncManager.cs Vulkan: Don't flush commands when creating most sync (#4087) 2022-12-29 15:39:04 +01:00
TextureBuffer.cs GPU: Pass SpanOrArray for Texture SetData to avoid copy (#3745) 2022-10-08 12:04:47 -03:00
TextureCopy.cs Implement non-MS to MS copies with draws (#3958) 2022-12-04 15:07:11 -03:00
TextureStorage.cs Specify image view usage flags on Vulkan (#4283) 2023-01-15 23:12:52 +01:00
TextureView.cs Specify image view usage flags on Vulkan (#4283) 2023-01-15 23:12:52 +01:00
Vendor.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
VertexBufferState.cs Vulkan: Add workarounds for MoltenVK (#4202) 2023-01-13 01:31:21 +01:00
VulkanConfiguration.cs Use RGBA16 vertex format if RGB16 is not supported on Vulkan (#3552) 2022-08-20 16:20:27 -03:00
VulkanException.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
VulkanInitialization.cs Vulkan: Explicitly enable precise occlusion queries (#4292) 2023-01-19 00:30:42 +00:00
VulkanRenderer.cs Vulkan: Explicitly enable precise occlusion queries (#4292) 2023-01-19 00:30:42 +00:00
Window.cs Revert "Relax Vulkan requirements (#4228)" (#4279) 2023-01-13 06:04:59 +00:00
WindowBase.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00