JinxRyu/Ryujinx.Graphics.GAL
riperiperi 1fc90e57d2
Update range for remapped sparse textures instead of recreating them (#4442)
* Update sparsely mapped texture ranges without recreating

Important TODO in TexturePool. Smaller TODO: should I look into making textures with views also do this? It needs to be able to detect if the views can be instantly deleted without issue if they're now remapped.

* Actually do partial updates

* Signal group dirty after mappings changed

* Fix various issues (should work now)

* Further optimisation

Should load a lot less data (16x) when partial updating 3d textures.

* Improve stability

* Allow granular uploads on large textures, improve rules

* Actually avoid updating slices that aren't modified.

* Address some feedback, minor optimisation

* Small tweak

* Refactor DereferenceRequest

More specific initialization methods.

* Improve code for resetting handles

* Explain data loading a bit more

* Add some safety for setting null from different threads.

All texture sets come from the one thread, but null sets can come from multiple. Only decrement ref count if we succeeded the null set first.

* Address feedback 1

* Make a bit safer
2023-03-14 17:08:44 -03:00
..
Multithreading Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
AddressMode.cs Some code cleanup 2020-01-09 02:13:00 +01:00
AdvancedBlendDescriptor.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
AdvancedBlendOp.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
AdvancedBlendOverlap.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
AntiAliasing.cs Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
BlendDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
BlendFactor.cs Some code cleanup 2020-01-09 02:13:00 +01:00
BlendOp.cs Fix incorrect GPU GL blend func values (#1612) 2020-10-13 14:45:41 +11:00
BufferAssignment.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
BufferHandle.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
BufferRange.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Capabilities.cs Move gl_Layer to vertex shader if geometry is not supported (#4368) 2023-02-25 10:39:51 +00:00
ColorF.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
CompareMode.cs Some code cleanup 2020-01-09 02:13:00 +01:00
CompareOp.cs Initial support for the guest OpenGL driver (NVIDIA and Nouveau) 2020-01-09 02:13:00 +01:00
CounterType.cs Initial work 2020-01-09 02:13:00 +01:00
DepthMode.cs Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?) 2020-01-09 02:13:00 +01:00
DepthStencilMode.cs Some code cleanup 2020-01-09 02:13:00 +01:00
DepthTestDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
DeviceInfo.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Extents2D.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Extents2DF.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Face.cs Initial work 2020-01-09 02:13:00 +01:00
Format.cs GPU: Add fallback when 16-bit formats are not supported (#4108) 2022-12-26 15:50:27 -03:00
FrontFace.cs Initial work 2020-01-09 02:13:00 +01:00
HardwareInfo.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
ICounterEvent.cs Add a Multithreading layer for the GAL, multi-thread shader compilation at runtime (#2501) 2021-08-27 00:31:29 +02:00
ImageCrop.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
IndexType.cs Initial work 2020-01-09 02:13:00 +01:00
IPipeline.cs Add support for advanced blend (part 1/2) (#2801) 2023-02-19 22:37:37 -03:00
IProgram.cs Implement parallel host shader cache compilation. 2021-04-18 17:33:58 +01:00
IRenderer.cs Vulkan: Don't flush commands when creating most sync (#4087) 2022-12-29 15:39:04 +01:00
ISampler.cs Initial work 2020-01-09 02:13:00 +01:00
ITexture.cs GPU: Pass SpanOrArray for Texture SetData to avoid copy (#3745) 2022-10-08 12:04:47 -03:00
IWindow.cs Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
LogicalOp.cs Implement Logical Operation registers and functionality (#1380) 2020-07-10 14:23:15 -03:00
MagFilter.cs Some code cleanup 2020-01-09 02:13:00 +01:00
MinFilter.cs Some code cleanup 2020-01-09 02:13:00 +01:00
MultisampleDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Origin.cs Fix wrong face culling once and for all (#1277) 2020-05-28 09:03:07 +10:00
PolygonMode.cs Initial tessellation shader support (#2534) 2021-10-18 18:38:04 -03:00
PolygonModeMask.cs Initial work 2020-01-09 02:13:00 +01:00
PrimitiveTopology.cs Initial work 2020-01-09 02:13:00 +01:00
ProgramLinkStatus.cs Implement parallel host shader cache compilation. 2021-04-18 17:33:58 +01:00
ProgramPipelineState.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Rectangle.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Ryujinx.Graphics.GAL.csproj infra: Migrate to .NET 7 (#3795) 2022-11-09 20:22:43 +01:00
SamplerCreateInfo.cs Fix Redundant Qualifer Warnings (#4091) 2022-12-10 21:21:13 +01:00
ScreenCaptureImageInfo.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
ShaderBindings.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
ShaderInfo.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ShaderSource.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
StencilOp.cs Add alternative "GL" enum values for StencilOp (#3321) 2022-05-05 21:16:58 +02:00
StencilTestDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
SupportBufferUpdater.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
SwizzleComponent.cs Some code cleanup 2020-01-09 02:13:00 +01:00
Target.cs Update range for remapped sparse textures instead of recreating them (#4442) 2023-03-14 17:08:44 -03:00
TextureCreateInfo.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
TextureReleaseCallback.cs Initial work 2020-01-09 02:13:00 +01:00
UpscaleType.cs Add Support for Post Processing Effects (#3616) 2023-02-27 18:11:55 -03:00
VertexAttribDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
VertexBufferDescriptor.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
Viewport.cs Make structs readonly when applicable (#4002) 2022-12-05 14:47:39 +01:00
ViewportSwizzle.cs Fix wrong face culling once and for all (#1277) 2020-05-28 09:03:07 +10:00