Commit graph

3255 commits

Author SHA1 Message Date
gdkchan c393cdf8e3
More flexible memory manager (#307)
* Keep track mapped buffers with fixed offsets

* Started rewriting the memory manager

* Initial support for MapPhysicalMemory and UnmapPhysicalMemory, other tweaks

* MapPhysicalMemory/UnmapPhysicalMemory support, other tweaks

* Rebased

* Optimize the map/unmap physical memory svcs

* Integrate shared font support

* Fix address space reserve alignment

* Some fixes related to gpu memory mapping

* Some cleanup

* Only try uploading const buffers that are really used

* Check if memory region is contiguous

* Rebased

* Add missing count increment on IsRegionModified

* Check for reads/writes outside of the address space, optimize translation with a tail call
2018-08-15 15:59:51 -03:00
emmauss 76d95dee05 Implement ITimeZone 201, 202 (#327)
* Implement ITimeZone 201, 202

* fix alignment

* fix array count

* fix mismatching datetime kind and timezone
2018-08-15 15:53:23 -03:00
gdkchan 55374ebba0
Zero out bits 63:32 of scalar float operations with SSE intrinsics (#273) 2018-08-14 23:54:12 -03:00
ReinUsesLisp 0673dc183a Reset cache on command buffer execution instead of sync calls (#341)
Also resets const buffer cache on CbData calls.
Non-const buffer data might also change while a command buffer is
executing but that's very unlikely.
2018-08-14 22:27:05 -03:00
gdkchan 9ac5583513
Better support for user accounts (#349)
* Better support for user accounts

* Nits

* Check for invalid ids
2018-08-14 19:02:42 -03:00
emmauss 17f54b5d78 Implement IProfile Get and GetBase (#266)
* implement IProfile Get(Base)

* use default user

* changed userid
2018-08-13 21:13:01 -03:00
gdkchan 4f499b6845
Fix FMUL and TEXS shader instructions (#347) 2018-08-13 19:46:36 -03:00
emmauss 6e48312052 Implement AcquireNpadStyleSetUpdate event (#306)
* implement get npad set event

* move npad style set event to hid service

* fix spacing

* change event to field

* dispose event
2018-08-13 18:31:09 -03:00
gdkchan 09593ae6d8
Add partial support to the TEX.B shader instruction (#342)
* Add partial support to the TEX.B shader instruction, fix for mixed indexed and non-indexed drawing

* Better exception
2018-08-13 18:22:09 -03:00
LDj3SNuD 4518c52c65 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
2018-08-13 18:10:02 -03:00
emmauss c05600a26b
Merge pull request #344 from greggameplayer/patch-1
fix toggleable variable in config to set the docked mode
2018-08-11 16:33:12 +03:00
Unknown 1f983d981e fix DockedMode variable
delete unneeded spaces

fix DockedMode variable

fix DockedMode variable

change PerformanceMode cast to int
align ICommonStateGetter Commands
2018-08-11 15:31:34 +02:00
emmauss 8482e16dcc
Merge pull request #304 from emmauss/listdisplays
Implemented IApplicationDisplayService:ListDisplays
2018-08-11 15:32:56 +03:00
emmauss 402a143ae1
fix dock mode style issues 2018-08-11 12:24:55 +00:00
greggameplayer 1fd4311e12 Add the ability to set or not docked mode via config file (#227)
* Add a toggleable DockedMode bool
2018-08-11 15:12:28 +03:00
LDj3SNuD 02a6fdcd13 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.
2018-08-10 14:27:15 -03:00
gdkchan 267af1f0f7
Fix load/store exclusive/atomic pairwise instructions (#337) 2018-08-10 01:14:27 -03:00
ReinUsesLisp 25dd5f4238 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
2018-08-10 01:09:40 -03:00
greggameplayer 652238f526 Add SetScreenShotImageOrientation (#310)
* Add SetScreenShotImageOrientation

* add a stubbed print
2018-08-08 03:00:54 -03:00
gdkchan 0cec4cbee5
Fix race condition on IdDictionary (#333) 2018-08-07 23:32:24 -03:00
Darabat 827752ec07 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
2018-08-06 22:26:19 -03:00
gdkchan 3cf1b6cf77 Fix silly copy/paste error on float variant of the FMINNM instruction 2018-08-05 18:56:30 -03:00
gdkchan 221270db90
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
2018-08-05 02:54:21 -03:00
Thomas Guillemard eeb626947e 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.
2018-08-04 18:38:49 -03:00
LDj3SNuD 5f34353dce 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).
2018-08-04 16:58:54 -03:00
gdkchan fa70629fab
Fix for integer vertex attributes and iset bf flag (#323) 2018-08-03 13:54:34 -03:00
AboodMadridista c68bca5396 Use the more specific NotImplementedException type instead of just Exception (#322) 2018-08-02 21:58:48 -03:00
emmaus a9a2c0c2f5 moved metadata to process 2018-08-02 23:33:28 +03:00
emmauss d137405e94
Merge pull request #298 from Cyuubi/npdm
Add Npdm parsing into Ryujinx.HLE
2018-08-02 22:59:14 +03:00
ReinUsesLisp b92189cb71 Sleep OpenAL thread (#313) 2018-08-01 00:48:49 -03:00
greggameplayer ce96a45685 Implement A2B10G10R10 TextureFormat (#248)
* add A2B10G10R10 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel
2018-07-29 01:41:02 -03:00
Starlet e07b0265c6 Add 5.0.0 IPCs (#300)
* Implement 5.0.0 IPC

* Align ControlWithContext
2018-07-29 01:40:02 -03:00
ReinUsesLisp 3208173620 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
2018-07-29 01:39:15 -03:00
gdkchan fdda67d476
Some fix to IRequest on NIFM, support sending objects to services (#294) 2018-07-29 01:36:29 -03:00
ReinUsesLisp 7a308d9e73 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
2018-07-29 01:35:36 -03:00
ReinUsesLisp 51605fafc0 Avoid calling buffer binding when shader didn't change (#295) 2018-07-26 13:49:29 -03:00
Arthur Chen 39d36145ba update encoding for branch instruction (#305) 2018-07-26 13:46:05 -03:00
emmaus 4a3ed0cec7 implemented ListDisplays 2018-07-24 21:38:55 +00:00
ReinUsesLisp 1344a47c77 Blit framebuffer without shaders (#229)
* Blit framebuffer without shaders

* De-hardcode native size values

* Adapt to dehardcoded framebuffers and address feedback

* Remove framebuffer rebinding
2018-07-23 16:21:05 +02:00
greggameplayer ed29982f9b 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
2018-07-23 16:20:16 +02:00
Ac_K ed075ae3cd
Update ITimeZoneService.cs
Fix typo
2018-07-22 19:38:29 +00:00
Starlet 4b8a65fd84 Add Npdm parsing into Ryujinx.HLE 2018-07-20 17:53:06 -04:00
Rygnus 241b46540d Stub AppletOE UnlockExit (#279)
* Implement AppletOE UnlockExit
2018-07-19 20:27:50 -03:00
ReinUsesLisp 5fe0bc584b 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
2018-07-19 16:02:51 -03:00
emmauss 45bb24dbae
fix extra space 2018-07-19 18:53:49 +00:00
Thomas Guillemard c9fc52edb6 Fix SystemPathToSwitchPath platform issues and make sure to delete temporary NRO after sessions dispose (#293) 2018-07-19 15:44:52 -03:00
emmauss 8b67297711
Added appveyor configuration file (#277) 2018-07-19 20:49:34 +03:00
mailwl ee064a2fb8 .gitignore: ignore autogenerated launchSettings.json (#292)
thanks to @Cyuubi
2018-07-19 13:45:50 -03:00
ReinUsesLisp cd203e98f2 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
2018-07-19 02:33:27 -03:00
Merry bdb6cbb435 AOpCodeTable: Speed up instruction decoding (#284) 2018-07-19 02:32:37 -03:00