Ryujinx-git/Ryujinx.Graphics.Vulkan
riperiperi 1fc0f569de
GPU: Always draw polygon topology as triangle fan (#3932)
Polygon topology wasn't really supported and would only work on OpenGL on drivers that haven't removed it. As an alternative, this PR makes all cases of polygon topology use triangle fan. The topology type and transform feedback type have not been changed, as I don't think geo shader/tfb should be used with polygons.

The OpenGL spec states:
Only convex polygons are guaranteed to be drawn correctly by the GL.

For convex polygons, triangle fan is equivalent to polygon. I imagine this is probably how it works on device, as this get-out-of-jail-free card is too enticing to pass up.

This fixes the stat display in Pokemon S/V.
2022-11-28 19:18:22 -03:00
..
Queries Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Shaders Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03: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 Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
BufferHolder.cs Vulkan: Don't create preload command buffer outside a render pass (#3864) 2022-11-18 14:58:56 +00:00
BufferManager.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
BufferState.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
BufferUsageBitmap.cs Support use of buffer ranges with size 0 (#3736) 2022-10-03 20:08:38 -03:00
CacheByRange.cs Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
CommandBufferPool.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
CommandBufferScoped.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03: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 GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
DisposableBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableBufferView.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableFramebuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableImage.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableImageView.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableMemory.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposablePipeline.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableRenderPass.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableSampler.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
EnumConversion.cs GPU: Always draw polygon topology as triangle fan (#3932) 2022-11-28 19:18:22 -03: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 Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02: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 Implement HLE macros for render target clears (#3528) 2022-08-04 21:30:08 +00:00
HardwareCapabilities.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
HashTableSlim.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
HelperShader.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00: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 Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MemoryAllocator.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MemoryAllocatorBlockList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03: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 GPU: Always draw polygon topology as triangle fan (#3932) 2022-11-28 19:18:22 -03:00
PipelineConverter.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
PipelineDynamicState.cs Vulkan: Use dynamic state for blend constants (#3793) 2022-10-25 23:49:23 +00:00
PipelineFull.cs Update units of memory from decimal to binary prefixes (#3716) 2022-11-16 23:27:42 +01:00
PipelineHelperShader.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -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 Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
PipelineState.cs Minor improvement to Vulkan pipeline state and bindings management (#3829) 2022-11-10 13:38:38 -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 infra: Migrate to .NET 7 (#3795) 2022-11-09 20:22:43 +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 Vulkan: Don't create preload command buffer outside a render pass (#3864) 2022-11-18 14:58:56 +00:00
SpecInfo.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
StagingBuffer.cs Vulkan: Fix some issues with CacheByRange (#3743) 2022-10-08 11:28:27 -03:00
SyncManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TextureBuffer.cs GPU: Pass SpanOrArray for Texture SetData to avoid copy (#3745) 2022-10-08 12:04:47 -03:00
TextureCopy.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
TextureStorage.cs Dispose Vulkan TextureStorage when views hit 0 instead of immediately (#3738) 2022-10-18 23:52:08 +00:00
TextureView.cs Vulkan: Implement multisample <-> non-multisample copies and depth-stencil resolve (#3723) 2022-11-02 18:17:19 -03:00
Vendor.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
VertexBufferState.cs Fix various issues caused by Vertex/Index buffer conversions (#3762) 2022-10-16 19:38:58 -03: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 Implement HLE macro for DrawElementsIndirect (#3748) 2022-11-16 14:53:04 -03:00
VulkanRenderer.cs ui: Fixes disposing on GTK/Avalonia and Firmware Messages on Avalonia (#3885) 2022-11-24 15:08:27 +01:00
Window.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00
WindowBase.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00