Commit graph

2882 commits

Author SHA1 Message Date
LDj3SNuD
302240c8de Add Sadalp_V, Saddlp_V, Uadalp_V, Uaddlp_V instructions; add 8 Tests. (#340)
* Update Instructions.cs

* Update CpuTestSimd.cs

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs
2024-02-22 19:13:50 -05:00
Unknown
c05b24f330 fix DockedMode variable
delete unneeded spaces

fix DockedMode variable

fix DockedMode variable

change PerformanceMode cast to int
align ICommonStateGetter Commands
2024-02-22 19:13:50 -05:00
emmaus
9d5b0c7496 implemented ListDisplays 2024-02-22 19:13:50 -05:00
emmauss
0c4d613f1b fix dock mode style issues 2024-02-22 19:13:50 -05:00
greggameplayer
9dbc5f0f4c Add the ability to set or not docked mode via config file (#227)
* Add a toggleable DockedMode bool
2024-02-22 19:13:50 -05:00
LDj3SNuD
64810c9ac7 Add Sqdmulh_S, Sqdmulh_V, Sqrdmulh_S, Sqrdmulh_V instructions; add 6 Tests. Now all saturating methods are on ASoftFallback. (#334)
* Update Instructions.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdHelper.cs

* Update ASoftFallback.cs

* Update CpuTestAlu.cs

* Update CpuTestAluImm.cs

* Update CpuTestAluRs.cs

* Update CpuTestAluRx.cs

* Update CpuTestBfm.cs

* Update CpuTestCcmpImm.cs

* Update CpuTestCcmpReg.cs

* Update CpuTestCsel.cs

* Update CpuTestMov.cs

* Update CpuTestMul.cs

* Update Ryujinx.Tests.csproj

* Update Ryujinx.csproj

* Update Luea.csproj

* Update Ryujinx.ShaderTools.csproj

* Address PR feedback (further tested).

* Address PR feedback.
2024-02-22 19:13:50 -05:00
gdkchan
7a02548c0c Fix load/store exclusive/atomic pairwise instructions (#337) 2024-02-22 19:13:50 -05:00
ReinUsesLisp
7bdf17ce9d Low level graphics API prerequisites (#319)
* Add GalPipelineState and IGalPipeline

* Separate UploadVertex call

* Add ConstBuffer cache

* Move Vertex Assembly into GalPipelineState

* Move Uniform binds to GalPipelineState

* Move framebuffer flip into a buffer

* Rebase

* Fix regression

* Move clear values from VertexEndGl to ClearBuffers

* Rename obscure names O->Old S->New
2024-02-22 19:13:50 -05:00
greggameplayer
96c44b35a5 Add SetScreenShotImageOrientation (#310)
* Add SetScreenShotImageOrientation

* add a stubbed print
2024-02-22 19:13:50 -05:00
gdkchan
d3572c972c Fix race condition on IdDictionary (#333) 2024-02-22 19:13:50 -05:00
Darabat
17e327e443 Changing shader decompiler to avoid vec2 and vec3 types, which were causing specific crashes. (#332)
* Changing shader decompiler to avoid vec2 and vec3 types, which were causing specific crashes.

* aligning code

* step back

* Redoing changes

* Redoing changes

* Redoing changes and avoiding concatenations

* redoing changes
2024-02-22 19:13:50 -05:00
gdkchan
c029b66908 Fix silly copy/paste error on float variant of the FMINNM instruction 2024-02-22 19:13:50 -05:00
gdkchan
9bc3eeed98 More accurate impl of FMINNM/FMAXNM, add vector variants (#296)
* More accurate impl of FMINNM/FMAXNM, add vector variants

* Optimize for the 0 case when op1 != op2

* Address PR feedback
2024-02-22 19:13:50 -05:00
Thomas Guillemard
3997916c23 Implement Shared Fonts (#215)
* Implement Shared Fonts

This fully implements shared fonts.
This commit is provided without fonts.
This commit also add Size to HSharedMem.Positions to be able to add fonts to shared zones when RequestLoad is called.

* Require the user to provide fonts in RyuFS/system

* Use File.Exits instead of relying ona try/catch and change system resource exception format a bit

* Make sure that font sum doesn't exceed 17MB

Also rename font data dictionary for coherence.
2024-02-22 19:13:50 -05:00
LDj3SNuD
2776d7c4fc Add SQADD, UQADD, SQSUB, UQSUB, SUQADD, USQADD, SQABS, SQNEG (Scalar, Vector) instructions; add 24 Tests. Most saturation instructions now on ASoftFallback. (#314)
* Update AOpCodeTable.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdArithmetic.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdHelper.cs

* Update ASoftFallback.cs

* Update AInstEmitSimdHelper.cs

* Update ASoftFallback.cs

* Update AInstEmitSimdHelper.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update ASoftFallback.cs

* Update AInstEmitSimdHelper.cs

* Opt. (retest).
2024-02-22 19:13:50 -05:00
gdkchan
0fe4bffe9c Fix for integer vertex attributes and iset bf flag (#323) 2024-02-22 19:13:49 -05:00
AboodMadridista
e525302479 Use the more specific NotImplementedException type instead of just Exception (#322) 2024-02-22 19:13:49 -05:00
emmaus
456f5c27dd moved metadata to process 2024-02-22 19:13:49 -05:00
Starlet
7154810367 Add Npdm parsing into Ryujinx.HLE 2024-02-22 19:13:49 -05:00
ReinUsesLisp
61ab83f97c Sleep OpenAL thread (#313) 2024-02-22 19:13:49 -05:00
greggameplayer
36ed697172 Implement A2B10G10R10 TextureFormat (#248)
* add A2B10G10R10 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel
2024-02-22 19:13:49 -05:00
Starlet
449a151847 Add 5.0.0 IPCs (#300)
* Implement 5.0.0 IPC

* Align ControlWithContext
2024-02-22 19:13:49 -05:00
ReinUsesLisp
0b5447793d Cache changes (#302)
* Skip repeated cache tests between same sync

* Skip some checks for regions where just one resource is resident

* Dehardcode residency page size

* Some cleanup
2024-02-22 19:13:49 -05:00
gdkchan
ad580cf13b Some fix to IRequest on NIFM, support sending objects to services (#294) 2024-02-22 19:13:49 -05:00
ReinUsesLisp
9ade118f29 Window related changes (#308)
* Use integer math for touch screen

* Sleep polling thread

* Rework host input

* Add fullscreen with F11 or Alt+Enter

* Address feedback
2024-02-22 19:13:49 -05:00
ReinUsesLisp
0116cdd8cf Avoid calling buffer binding when shader didn't change (#295) 2024-02-22 19:13:49 -05:00
Arthur Chen
4014634242 update encoding for branch instruction (#305) 2024-02-22 19:13:49 -05:00
ReinUsesLisp
77e150e66a Blit framebuffer without shaders (#229)
* Blit framebuffer without shaders

* De-hardcode native size values

* Adapt to dehardcoded framebuffers and address feedback

* Remove framebuffer rebinding
2024-02-22 19:13:49 -05:00
greggameplayer
0af6768e3a Link BCAT:U & BCAT:A & BCAT:M & BCAT:S (#257)
* Link BCAT:U & BCAT:A & BCAT:M & BCAT:S

* delete unneeded using

* delete unneeded spaces

* delete unneeded using

* Add comment (1/2)

* Add comment (2/2)

* delete unneeded using
2024-02-22 19:13:49 -05:00
Ac_K
370e420bce Update ITimeZoneService.cs
Fix typo
2024-02-22 19:13:49 -05:00
Rygnus
db09f3152b Stub AppletOE UnlockExit (#279)
* Implement AppletOE UnlockExit
2024-02-22 19:13:49 -05:00
ReinUsesLisp
502ecc3a5f Send data to OpenGL host without client-side copies (#285)
* Directly send host address to buffer data

* Cleanup OGLShader

* Directly copy vertex and index data too

* Revert shader bind "cache"

* Address feedback
2024-02-22 19:13:49 -05:00
emmauss
828101f4fa fix extra space 2024-02-22 19:13:49 -05:00
Thomas Guillemard
876c82a3e5 Fix SystemPathToSwitchPath platform issues and make sure to delete temporary NRO after sessions dispose (#293) 2024-02-22 19:13:47 -05:00
emmauss
7856960d07 Added appveyor configuration file (#277) 2024-02-22 19:13:47 -05:00
mailwl
4e08349ef4 .gitignore: ignore autogenerated launchSettings.json (#292)
thanks to @Cyuubi
2024-02-22 19:13:47 -05:00
ReinUsesLisp
0fd44c96b1 Implement Geometry shaders (#280)
* Implement Geometry shaders

* Add EmitVertex() and EndPrimitive()

* Read output geometry data from header

* Stub Vmad

* Add Iadd_I32

* Stub Mov_S (S2R)

* Stub Isberd

* Change vertex index to gpr39 in Abuf

* Add stub messages for consistency

* Do not print input block when there is no attributes

* Use GL_ARB_enhanced_layouts

* Skip geometry shaders when there's no GL_ARB_enhanced_layouts

* Address feedback

* Address feedback
2024-02-22 19:13:47 -05:00
Merry
1cb4cf9fac AOpCodeTable: Speed up instruction decoding (#284) 2024-02-22 19:13:47 -05:00
gdkchan
65a7d7f981 Support deswizzle of sparse tiled textures and some frame buffer fixes (#275)
* Attempt to support deswizzle of sparse tiled textures

* Use correct frame buffer and viewport sizes, started to clean up the copy engine

* Correct texture width alignment

* Use Scale/Translate registers to calculate viewport rect

* Allow texture copy between frame buffers
2024-02-22 19:13:47 -05:00
Ac_K
f941f33af1 Implement SvcWaitForAddress 0x34 (#289)
* Implement SvcWaitForAddress 0x34

Currently needed by Sonic Mania Plus

* Fix mistake

* read-decrement-write locked
2024-02-22 19:13:47 -05:00
Ac_K
f5ba5ca872 Update IGeneralService.cs
Fixed little mistake on the debug string.
2024-02-22 19:13:47 -05:00
simonmkwii-dev
2eeace196d Implement GetCurrentIpAddress() and stub GetCurrentNetworkProfile() (#271)
* Implement GetCurrentIpAddress()

...and stub GetCurrentNetworkProfile()

* Update IGeneralService.cs

* Actually implement it properly this time...

* <snip>

* Made some requested changes

* Added requested changes.

* Added more requested changes.

* oof

* Local > Address

* Cyuubumped

* Change PrintInfo > PrintDebug

* Revert change
2024-02-22 19:13:47 -05:00
LDj3SNuD
77972e6ee6 Implement Ssubw_V and Usubw_V instructions. (#287)
* Update AOpCodeTable.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdMove.cs

* Update AInstEmitSimdCmp.cs

* Update Instructions.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs
2024-02-22 19:13:47 -05:00
greggameplayer
29ac59037f Implement BF10GF11RF11 TextureFormat (#246)
* add BF10GF11RF11 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel

* correct PixelType
2024-02-22 19:13:47 -05:00
greggameplayer
a7e0156212 Implement Z24S8 TextureFormat (#247)
* add Z24S8 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel

* Correct PixelType
2024-02-22 19:13:47 -05:00
emmauss
dc5f455263 Implement IFileSystem:CleanDirectoryRecursively (#283)
* implement ifilesys:cleandirectoryrecursively

* clean up Ifilesystem
2024-02-22 19:13:47 -05:00
gdkchan
541f68cdd6 Fix wrong assignment and allow null FilePaths on Executable 2024-02-22 19:13:47 -05:00
ReinUsesLisp
2557c78675 Implement some shader instructions (#252)
* Add IADDI32, IADD and SEL shader instructions

* Add LOP shader instruction and fix LOP32I pass_b

* Add ISET shader instruction

* Add IADD3 shader instruction

* Address feedback

* Fixup OperA in Iadd_I32
2024-02-22 19:13:47 -05:00
Thomas Guillemard
20ff88b546 hbabi: Implement argv (#272)
This commit implements the argv config key in Ryujinx (by creating a temporary copy of the homebrew executable in the sdmc VFS) to make it possible
to load libnx's "romfs" files.

This commit also call Os.Dispose in Ns.OnFinish to dispose all resources when exiting
2024-02-22 19:13:47 -05:00
gdkchan
db5246e98d Fix LDXP/LDAXP when Rt == Rn (#274) 2024-02-22 19:13:47 -05:00