Commit Graph

3568 Commits

Author SHA1 Message Date
sunshineinabox
45ce25e847 Upon closer inspection actually descriptorIndex is only iterrated when there is a valid buffer, but bindings are always i+1. This could lead to potential errors. 2024-09-30 21:06:06 -07:00
sunshineinabox
8b0520d2cf
Merge branch 'master' into MoreDynamicStatesPartOne 2024-09-30 19:57:10 -07:00
sunshineinabox
6216566166 Update disk cache code generation version and use HashSet for processed pipelines
Use a hashset to compare against all generated pipelines vs only against the most recent one.
2024-09-30 18:15:37 -07:00
gdkchan
7d158acc3b
Do not try to create a texture pool if shader does not use textures (#7379) 2024-09-30 11:41:07 -03:00
sunshineinabox
7cc334b894 Resolve some errors in logic 2024-09-29 18:11:44 -07:00
sunshineinabox
acbd9eb98f Set default Topology 2024-09-29 17:14:50 -07:00
sunshineinabox
95a0344eb4 Update shader cache handling to process old versions 2024-09-29 16:53:56 -07:00
sunshineinabox
4e501f1a70 Fix vertex buffer binding indices in Vulkan pipeline introduced from previous commit. 2024-09-28 10:46:01 -07:00
sunshineinabox
afb0ce8785 Not needed 2024-09-28 09:17:58 -07:00
e2dk4r
5dbba07e33
sdl: set app name (#7370)
Ryujinx was not hinting application name, so on some platforms (e.g.
Linux) volume control shows Ryujinx as 'SDL Application'. This can cause
confusion.

This commit fixes name in volume control applets on some platforms.

see: https://wiki.libsdl.org/SDL2/SDL_HINT_APP_NAME
2024-09-28 10:44:23 +02:00
MaxLastBreath
d86249cb0a
Convert MaxTextureCacheCapacity to Dynamic MaxTextureCacheCapacity for High Resolution Mod support. (#7307)
* Add Texture Size Capacity and 8GB Dram Build

* Update AutoDeleteCache.cs

* Dynamic Texture Cache (WIP)

* Change to float Multiplier, in-case it needs fine-tuning.

* Delete src/src.sln

* Update AutoDeleteCache.cs

* Format

* Fix Formatting

* Add DefaultTextureSizeCapacity and MemoryScaleFactor

- Also remove redundant New Lines

* Fix 4GB dram crashing

* Format newline

* Refractor

- Added Initialize() function to TextureCache and AutoDeleteCache
- Removed GetMaxTextureCapacity() function and instead added _maxCacheMemoryUsage
- Added private const MaxTextureSizeCapacity to AutoDelete Cache
- Added TextureCache.Initialize() to MemoryManager in order to fetch MaxGpuMemory at the right time.
- Moved and Changed Logger.Info for Gpu Memory to Logger.Notice and Moved it to PrintGpuInformation function.
- Opted to use a ternary operator for the Initialize function, I think it looks cleaner than bunch of if statements.

* Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* maxMemory to CacheMemory, use Clamp instead of Ternary. Changed MinTextureCapacity 1GiB to 512 MiB

* Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* Format comment

* comment context

* Increase TextureSize capacity for OpenGL back to 1024

- Added a new const ulong for OpenGLTextureSizeCapacity

* Fix changes from last commit.

* Adjust last OpenGL changes.

* Remove garbage VSC file

* Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* Update src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

---------

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-09-26 14:33:38 -03:00
riperiperi
04d68ca616
GPU: Ensure all clip distances are initialized when used (#7363)
* GPU: Ensure all clip distances are initialized when used

* Shader cache version
2024-09-26 14:19:12 -03:00
Jason Youngberg
050f22977f
Update bug_report.yml to provide better instructions for finding log file (#7333) 2024-09-24 11:10:36 +02:00
sunshineinabox
5350e43f45 Theoretically avoid calling SignalStateChange when another command will set it 2024-09-22 18:33:16 -07:00
sunshineinabox
92f8d211c6 As SetPrimitiveTopology will call SignalStateChange so no need to call it again. 2024-09-22 17:25:34 -07:00
sunshineinabox
9fbfcae162
Merge branch 'master' into MoreDynamicStatesPartOne 2024-09-22 17:18:45 -07:00
sunshineinabox
5df2022a6b Only call SignalStateChange if there has been a change. 2024-09-22 17:03:35 -07:00
gdkchan
319507f2a1
Fix quads draws after DrawTexture on Vulkan (#7336) 2024-09-22 19:36:53 -03:00
sunshineinabox
72e57e4c6e Resolve validation error 2024-09-20 20:46:40 -07:00
gdkchan
d717aef2be
Shader: Assume the only remaining source is the right one when all others are undefined (#7331)
* Shader: Assume the only remaining source is the right one when all other are undefined

* Shader cache version bump

* Improve comment
2024-09-19 21:23:09 -03:00
gdkchan
24ee8c39f1
Add support for sampler sRGB disable (#7312) 2024-09-19 14:38:30 -03:00
jhorv
73f985d27c
Replace passing by IMemoryOwner<byte> with passing by concrete MemoryOwner<byte> (#7171)
* refactor(perf): pass MemoryOwner<byte> around as itself rather than IMemoryOwner<byte>

* fix(perf): get span via MemoryOwner<byte>.Span property instead of through Memory property

* fix: incorrect comment change
2024-09-18 23:00:54 -03:00
gdkchan
ef81658fbd
Implement support for shader ATOM.EXCH instruction (#7320)
* Implement support for shader ATOM.EXCH instruction

* Shader cache version bump

* Check type
2024-09-18 15:48:55 -03:00
gdkchan
062ef43eb4
Revert "Wait for async task to complete (#7122)" (#7318)
This reverts commit ccf96bf5e6.
2024-09-17 16:25:26 -03:00
gdkchan
eb8132b627
Change image format view handling to allow view incompatible formats (#7311)
* Allow creating texture aliases on texture pool

* Delete old image format override code

* New format incompatible alias

* Missing bounds check

* GetForBinding now takes FormatInfo

* Make FormatInfo struct more compact
2024-09-17 15:52:30 -03:00
TSRBerry
ccf96bf5e6
Wait for async task to complete (#7122)
This way exceptions thrown during the execution of CheckLaunchState()
will correctly invoke the unhandled exception handler
and cause Ryujinx to crash.
2024-09-17 15:42:00 -03:00
ZenoArrows
f39e89ece7
Add area sampling scaler to allow for super-sampled anti-aliasing. (#7304)
* Add area sampling scaler to allow for super-sampled anti-aliasing.

* Area scaling filter doesn't have a scaling level.

* Add further clarification to the tooltip on how to achieve supersampling.

* ShaderHelper: Merge the two CompileProgram functions.

* Convert tabs to spaces in area scaling shaders

* Fixup Vulkan and OpenGL project files.

* AreaScaling: Replace texture() by texelFetch() and use integer vectors.

No functional difference, but it cleans up the code a bit.

* AreaScaling: Delete unused sharpening level member.

Also rename _scale to _sharpeningLevel for clarity and consistency.

* AreaScaling: Delete unused scaleX/scaleY uniforms.

* AreaScaling: Force the alpha to 1 when storing the pixel.

* AreaScaling: Remove left-over sharpening buffer.
2024-09-17 15:30:50 -03:00
gdkchan
cf77c011e4
Change 6GB DRAM expansion to 8GB (#7313)
* Change 6GB DRAM expansion to 8GB

* Update texts and tooltips
2024-09-17 15:09:20 -03:00
gdkchan
cd74ae1bbd
Implement fast DMA texture to texture copy (#7299)
* Implement fast DMA texture to texture copy

* PR feedback
2024-09-15 18:12:05 -03:00
Emmanuel Hansen
62216782ca
Make GetFunctionPointerForDelegate as explicit as possible (#7279)
Co-authored-by: gdk <gab.dark.100@gmail.com>
2024-09-15 17:39:10 -03:00
sunshineinabox
6e132e9fd7 Style correction 2024-09-13 15:28:21 -07:00
sunshineinabox
bc14efe5f1 Avoid setting the dynamic state for feedback loop if it is not set avoids validation error. Also linewidth value is ignored if dynamic state is supported. 2024-09-13 15:22:05 -07:00
sunshineinabox
b557dc805b Missed line 2024-09-13 10:44:39 -07:00
sunshineinabox
2d0c1c3a1c Code review suggestions 2024-09-13 08:13:44 -07:00
gdkchan
2f36a6665c
Implement Arm32 VSHLL and QADD16 instructions (#7301) 2024-09-12 18:22:30 -03:00
sunshineinabox
dff81088e8 Replace Action array with a switch statment. 2024-09-09 22:03:50 -07:00
sunshineinabox
5a391f38fd Refactor Cull Mode to only send face. 2024-09-09 21:50:18 -07:00
sunshineinabox
2fd093d4b4 Avoid setting stride if dynamic state is supported 2024-09-09 21:17:44 -07:00
sunshineinabox
f085b47b30 Address Feedback 2024-09-09 21:08:13 -07:00
sunshineinabox
d7089682ae Code Review Suggestion 2024-09-10 01:57:31 +00:00
sunshineinabox
01c6d5491e Code Review Suggestions 2024-09-09 18:53:40 -07:00
sunshineinabox
4a3b10fa9f
Apply suggestions from code review
Simple suggestions from code review

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-09-09 18:11:35 -07:00
sunshineinabox
d9c5b5c753 Correct typo 2024-09-09 11:04:33 -07:00
sunshineinabox
2a3069d9a1 Enable Vertex Input Binding Stride extended state when available on newer MVK 2024-09-09 11:02:07 -07:00
sunshineinabox
381abda2c8 Primitive restart is enabled/disabled based on the original topology before its converted to its topology class, make this behavior consistent 2024-09-09 09:01:00 -07:00
sunshineinabox
9bcc8374da Only attempt to change topology class if needed 2024-09-07 20:09:58 -07:00
sunshineinabox
1cb35a42db Rework to reduce code duplication and possibility of error.
Reduce number of pipelines?
2024-09-07 17:26:26 -07:00
sunshineinabox
2846e88a5d Clean up and some housekeeping 2024-09-04 19:51:26 -07:00
sunshineinabox
1fa1c7b01d Need to test this on Windows 2024-09-02 21:09:09 -07:00
sunshineinabox
91c3ac2701 Revert a change 2024-09-02 16:22:10 -07:00