Commit graph

545 commits

Author SHA1 Message Date
Thomas Guillemard
588a9c8095 Add linux-x64 to RID property to make tests works on linux (#205) 2024-02-22 19:13:45 -05:00
LDj3SNuD
c4a2d199be Add Saba_V, Sabal_V, Sabd_V, Sabdl_V, Uaba_V, Uabal_V; Update Uabd_V, Uabdl_V. Add 16 tests. (#204)
* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdHelper.cs

* Update Instructions.cs

* Update CpuTest.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs
2024-02-22 19:13:45 -05:00
ReinUsesLisp
e1e2cdaaad Explicit GLSL "position" attribute location (#199) 2024-02-22 19:13:45 -05:00
gdkchan
be8e254790 Add Sse2 fallback to Vector{Extract|Insert}Single methods on the CPU (#193) 2024-02-22 19:13:45 -05:00
gdkchan
270bef0fe0 Add support for the FMLA (by element/scalar) instruction (#187)
* Add support for the FMLA (by element/scalar) instruction

* Fix encoding
2024-02-22 19:13:45 -05:00
gdkchan
9bb3fabd31 Add support for vertex base on indexed draws, fix index buffer first (untested) (#197) 2024-02-22 19:13:44 -05:00
greggameplayer
da2962ea7b add the forgotten mm:u link (#190) 2024-02-22 19:13:44 -05:00
gdkchan
e59e8ed71e Somewhat better ClearBuffers implementation 2024-02-22 19:13:44 -05:00
gdkchan
c703a20c23 Add support for Vertex Program A and other small shader improvements (#192)
* Add WIP support for Vertex Program A, add the FADD_I32 shader instruction, small fix on FFMA_I encoding, nits

* Add separate subroutines for program A/B, and copy attributes to a temp

* Move finalization code to main

* Add new line after flip uniform on the shader

* Handle possible case where VPB uses an output attribute written by VPA but not available on the vbo

* Address PR feedback
2024-02-22 19:13:43 -05:00
gdkchan
449606fac4 Fix vertex buffer size on the gpu when the draw vertex count is less than the buffer size, added a few more registers (currently not implemented) 2024-02-22 19:13:43 -05:00
ReinUsesLisp
a5c4c1ae20 Fix GL.CreateBuffers -> GL.GenBuffers (#189) 2024-02-22 19:13:43 -05:00
ReinUsesLisp
cb45ce4290 Implementation of UBOs instead of uniform constant arrays (#186)
* Sort uniform binding to avoid possible failures in drivers fewer bindings

* Throw exception for Cbuf overflow

* Search for free bindings instead of using locked ones

* EnsureAllocated when binding buffers

* Fix uniform bindings

* Remove spaces

* Use 64 KiB UBOs when available

* Remove double colon

* Use IdentationStr and avoid division in Cbuf offset

* Add spaces
2024-02-22 19:13:43 -05:00
gdkchan
cda8045af5 Relax GetThreadContext3 by allowing it to get the context of a running thread 2024-02-22 19:13:43 -05:00
gdkchan
728f4c3c37 Set PC value on SvcCall aswell 2024-02-22 19:13:43 -05:00
gdkchan
9d1f9d35a1 Implement SvcGetThreadContext3 2024-02-22 19:13:43 -05:00
LDj3SNuD
25e2fbe3c5 Add Sqxtun_S, Sqxtun_V with 3 tests. (#188)
* Update AInstEmitSimdArithmetic.cs

* Update Instructions.cs

* Update CpuTestSimd.cs
2024-02-22 19:13:43 -05:00
LDj3SNuD
f70cd51e39 Add Sse Opt. for Cmeq_V_2D, Cmgt_V_2D (Reg). Add Sse Opt. for Crc32cb, Crc32ch, Crc32cw, Crc32cx. Add 10 simple tests for Fcmgt, Fcmge, Fcmeq, Fcmle, Fcmlt (S, V) (Reg, Zero). Add 2 Cnt_V tests. (#183)
* Add files via upload

* Add files via upload

* Add files via upload

* CPE

* Add EmitSse42Crc32()

* Update CpuTestSimdCmp.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update CpuTestSimd.cs

* Update Instructions.cs
2024-02-22 19:13:43 -05:00
gdkchan
39617485d4 Add REV16/32 (vector) instructions and fix REV64 2024-02-22 19:13:43 -05:00
gdkchan
a0aa2c7d40 Fix GetLastOpenedUser stub returning an invalid account id value 2024-02-22 19:13:43 -05:00
Rygnus
2883df34c0 Add opcodes SQXTUN_S and SQXTUN_V (#184)
* Add SQXTUN_S and SQXTUN_V

Part 1/2 of commit

* Add SQXTUN_S and SQXTUN_V (2/2)

Part 2/2 of commit
2024-02-22 19:13:43 -05:00
gdkchan
5d1a4f542a Aways write voice state as finished playing while proper audren support is not in place 2024-02-22 19:13:43 -05:00
gdkchan
b85f43f1d5 Small OpenGL Renderer refactoring (#177)
* Call OpenGL functions directly, remove the pfifo thread, some refactoring

* Fix PerformanceStatistics calculating the wrong host fps, remove wait event on PFIFO as this wasn't exactly was causing the freezes (may replace with an exception later)

* Organized the Gpu folder a bit more, renamed a few things, address PR feedback

* Make PerformanceStatistics thread safe

* Remove unused constant

* Use unlimited update rate for better pref
2024-02-22 19:13:43 -05:00
gdkchan
ac6c545521 Workaround for recent audren regression 2024-02-22 19:13:43 -05:00
gdkchan
c36fcaea56 Fix 3 graphics related issues (#180)
* Fix 3 graphics related bugs

* OGLShader shouldn't be public (yet)
2024-02-22 19:13:43 -05:00
Starlet
828f08c53e Better audren implementation (#179) 2024-02-22 19:13:42 -05:00
gdkchan
74bcb3e736 Fix some thread sync issues (#172)
* Fix some thread sync issues

* Remove some debug stuff

* Ensure that writes to the mutex address clears the exclusive monitor
2024-02-22 19:13:42 -05:00
ReinUsesLisp
addc881dfe Port from OpenTK.NETCore to OpenTK.NetStandard (#176)
* Minor code changes

* Forgot to remove a method
2024-02-22 19:13:42 -05:00
riperiperi
f693ab56b2 Rework signed multiplication. Fixed an edge case and passes all tests. (#174) 2024-02-22 19:13:42 -05:00
LDj3SNuD
b255228561 Add Cmeq_S, Cmge_S, Cmgt_S, Cmhi_S, Cmhs_S, Cmle_S, Cmlt_S (Reg, Zero) & Cmtst_S compare instructions. Add 22 compare tests (Scalar, Vector). Add Eor_V, Not_V tests. (#171)
* Add files via upload

* Add files via upload

* Delete CpuTestScalar.cs

* Update CpuTestSimdArithmetic.cs
2024-02-22 19:13:42 -05:00
Jules Blok
beb42fabd9 NvGpuEngine3d: Fix uploading vertex arrays without index buffers. (#173) 2024-02-22 19:13:42 -05:00
gdkchan
0d4ab56088 Do not read or write macros to main memory, use a separate memory instead (as this apparently what the real thing does) 2024-02-22 19:13:42 -05:00
gdkchan
dc5035b29a Add the FADDP (scalar) instruction 2024-02-22 19:13:42 -05:00
Ac_K
efe7730ab8 Implement NPDM files parser (#169)
* Implement NPDM files parser

(Currently not used in Ryujinx)

* Add credits

* Add Swap32

* Update Npdm.cs

* Update ACI0.cs

* Update ACID.cs

* Update Npdm.cs

* Update EndianSwap.cs

* Update ACI0.cs

* Update ACID.cs

* Update KernelAccessControl.cs

* Update NpdmInfo.cs

* Update ServiceAccessControl.cs

* Update NpdmInfo.cs
2024-02-22 19:13:42 -05:00
greggameplayer
597c63a814 delete mixed tabs & spaces & use void for methods 2024-02-22 19:13:42 -05:00
greggameplayer
5e4eddf445 add a new Method for OpenAudioOut & OpenAudioOutAuto 2024-02-22 19:13:42 -05:00
greggameplayer
aafed824aa Implement ListAudioOutsAuto & OpenAudioOutAuto 2024-02-22 19:13:42 -05:00
greggameplayer
180df8cad7 change places of the args of GetAvailableLanguagesCodesMethod 2024-02-22 19:13:42 -05:00
greggameplayer
b16f1e1262 correct whitespaces 2024-02-22 19:13:42 -05:00
greggameplayer
a8787fb645 Implement GetAvailableLanguageCodes2 with a method 2024-02-22 19:13:42 -05:00
riperiperi
160aff3f8f Faster soft implementation of smulh and umulh (#134)
* Faster soft implementation of smulh and umulh

* smulh: Fixed mul with 0 acting like it had a negative result.

* Use compliment for negative smulh result.
2024-02-22 19:13:41 -05:00
gdkchan
81af45ec58 Partial GPU DMA support (#158) 2024-02-22 19:13:41 -05:00
Starlet
cf343a20bc Compliant with review. 2024-02-22 19:13:41 -05:00
Starlet
23701c23e8 [PCTL] Add CreateServiceWithoutInitialize and Initialize 2024-02-22 19:13:41 -05:00
Lordmau5
6dc2561565 Remove comment 2024-02-22 19:13:41 -05:00
Lordmau5
1d5a63664c Implement R16 texture format (#147) 2024-02-22 19:13:41 -05:00
Lordmau5
c2ce0ba499 Implement Fabs_V (#146) 2024-02-22 19:13:41 -05:00
gdkchan
d6ced9fecc Minor shader fixes 2024-02-22 19:13:41 -05:00
DatBoiJay3
41df305aab Neatness counts 2024-02-22 19:13:41 -05:00
DatBoiJay3
7be13f300d Fix input in SMO
Unsure if this will break other games though.
Please test. :)
2024-02-22 19:13:41 -05:00
gdkchan
49ed4ec0ec Rename Ryujinx.Core to Ryujinx.HLE and add a separate project for a future LLE implementation 2024-02-22 19:13:40 -05:00