Ryujinx/Ryujinx.Graphics.Vulkan
riperiperi 6e9bd4de13
GPU: Scale counter results before addition (#4471)
* GPU: Scale counter results before addition

Counter results were being scaled on ReportCounter, which meant that the _total_ value of the counter was being scaled. Not only could this result in very large numbers and weird overflows if the game doesn't clear the counter, but it also caused the result to change drastically.

This PR changes scaling to be done when the value is added to the counter on the backend. This should evaluate the scale at the same time as before, on report counter, but avoiding the issue with scaling the total.

Fixes scaling in Warioware, at least in the demo, where it seems to compare old/new counters and broke down when scaling was enabled.

* Fix issues when result is partially uploaded.

Drivers tend to write the low half first, then the high half. Retry if the high half is FFFFFFFF.
2023-03-12 18:01:15 +01:00
..
Effects Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
MoltenVK Minor code formatting (#4498) 2023-03-04 14:43:08 +01:00
Queries GPU: Scale counter results before addition (#4471) 2023-03-12 18:01:15 +01:00
Shaders Add copy dependency for some incompatible texture formats (#4380) 2023-02-21 19:21:57 -03:00
Auto.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AutoFlushCounter.cs Vulkan: Flush command buffers for queries less aggressively (#4387) 2023-02-09 02:03:41 +01:00
BackgroundResources.cs Minor code formatting (#4498) 2023-03-04 14:43:08 +01: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 vulkan: Clean up MemoryAllocator (#4418) 2023-02-15 07:50:26 +01: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 Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03: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 Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -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 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 Implement safe depth-stencil blit using stencil export extension (#4356) 2023-02-06 00:19:31 -03:00
HardwareCapabilities.cs Vulkan: Support list topology primitive restart (#4483) 2023-02-26 19:19:00 -03:00
HashTableSlim.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
HelperShader.cs Add copy dependency for some incompatible texture formats (#4380) 2023-02-21 19:21:57 -03:00
IdList.cs Minor code formatting (#4498) 2023-03-04 14:43:08 +01: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 vulkan: Clean up MemoryAllocator (#4418) 2023-02-15 07:50:26 +01: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 Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
PersistentFlushBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineBase.cs GPU: Scale counter results before addition (#4471) 2023-03-12 18:01:15 +01:00
PipelineConverter.cs vulkan: Respect VK_KHR_portability_subset vertex stride alignment (#4419) 2023-02-15 08:41:48 +00:00
PipelineDynamicState.cs vulkan: Do not call vkCmdSetViewport when viewportCount is 0 (#4406) 2023-02-13 20:32:20 +00:00
PipelineFull.cs Vulkan: Flush command buffers for queries less aggressively (#4387) 2023-02-09 02:03:41 +01: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 Vulkan: Support list topology primitive restart (#4483) 2023-02-26 19:19:00 -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 misc: Some dependencies cleanup (#4507) 2023-03-12 03:24:11 +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 Misc performance tweaks (#4509) 2023-03-11 17:05:48 -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 vulkan: Clean up MemoryAllocator (#4418) 2023-02-15 07:50:26 +01:00
TextureView.cs Add copy dependency for some incompatible texture formats (#4380) 2023-02-21 19:21:57 -03:00
Vendor.cs Relax Vulkan requirements (#4282) 2023-01-26 18:34:35 -03: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: Support list topology primitive restart (#4483) 2023-02-26 19:19:00 -03:00
VulkanRenderer.cs Vulkan: Support list topology primitive restart (#4483) 2023-02-26 19:19:00 -03:00
Window.cs Misc performance tweaks (#4509) 2023-03-11 17:05:48 -03:00
WindowBase.cs Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00