Commit graph

482 commits

Author SHA1 Message Date
gdkchan
b549daed03
Fix exception throw message for unimpl texture formats (#398) 2018-09-01 18:51:51 -03:00
ReinUsesLisp
e72fd3f7a7 Shaders: Handle Ipa PASS argument as needed in Fragment Shaders (#392) 2018-09-01 18:44:19 -03:00
HorrorTroll
bf28d8f1aa Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format (#377)
* Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format

* Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format

* Revert "Add BGRA8Unorm, BGRA8Srgb, ZF32_X24S8 texture format"

This reverts commit aea5c9db3a.

* Conflicts fix

* Wrong fix

* E

* e
2018-09-01 18:25:49 -03:00
gdkchan
35778afef9
Improve handling on QueryGet on the gpu (#397) 2018-09-01 11:54:56 -03:00
LDj3SNuD
42e4e02a64 Add Fcvtns_S, Fcvtns_V, Fcvtnu_S, Fcvtnu_V (AOpCodeSimd) FP & Umlal_V, Umlsl_V, Saddl_V, Ssubl_V, Usubl_V instructions; add 8 FP & 16 S/Umlal_V, S/Umlsl_V, S/Uaddl_V, S/Usubl_V Tests. (#390)
* Update AOpCodeTable.cs

* Update AInstEmitSimdCvt.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update CpuTestSimd.cs

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update Instructions.cs

* Update CpuTestSimdReg.cs

* Update CpuTestSimd.cs

* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update Instructions.cs

* Update CpuTestSimdReg.cs

* Add QCFlagBit.

* Add QCFlagBit.
2018-09-01 11:52:51 -03:00
Merry
326777ca4a Ryujinx.Tests: Add unicorn to test framework (#389)
* Ryujinx.Tests: Add unicorn to test framework

* CpuTestSimdArithmetic: Comment out inaccurate results
2018-09-01 11:24:05 -03:00
ReinUsesLisp
42dc925c3d Implement SSY/SYNC shader instructions (#382)
* Use a program counter to control shaders' flow

* Cleanup

* Implement SSY/SYNC

* Address feedback

* Fixup commentary

* Fixup Ssy instruction
2018-08-31 13:14:04 -03:00
ReinUsesLisp
7cb6fd8090 Fixup HasColor for depth/stencil values (#379) 2018-08-30 13:14:45 -03:00
HorrorTroll
27023e7afc Add R32_G32 texture format (#383) 2018-08-27 11:18:21 -03:00
LDj3SNuD
68300368d7 Add SHADD, SHSUB, UHSUB, SRHADD, URHADD, instructions; add 12 Tests. (#380)
* Update AOpCodeTable.cs

* Update AInstEmitSimdArithmetic.cs

* Update Instructions.cs

* Update CpuTestSimdReg.cs

* Update CpuTest.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdCrypto.cs
2018-08-27 03:44:01 -03:00
ReinUsesLisp
43c4e7c78d Use mirrored texture wraps when available (#361) 2018-08-25 16:39:08 -03:00
ReinUsesLisp
a42ab2e40c Implement vertex instancing (#381) 2018-08-25 01:16:58 -03:00
emmauss
da7e702751 Update BSD service implementation (#363)
* Update BSD service to handle libnx's 'smart IPC buffers' for address info

* Use existing "GetBufferType0x21" for certain BSD socket methods

* Parse address port as unsigned short

* Fix bounds check on reading the IPC buffer

* Implement Read, Write methods

* rebased and cleaned

* addressed nits

* remove unused swap method

* fixed alignments
2018-08-24 14:20:42 -03:00
ReinUsesLisp
624e813cd3 Implement multiple rendertarget attachments and depth writting (#375)
* Add depth writting

* Implement multiple attachments

* Address feedback
2018-08-23 02:07:23 -03:00
gdkchan
9977acad0f
Fix BinarySearchLt to return less than rather than less than or equal value (#372) 2018-08-23 01:54:59 -03:00
ReinUsesLisp
1cd7aaf504 Avoid querying and setting texture bindings in hot code (#376) 2018-08-23 01:54:32 -03:00
Thomas Guillemard
57dfa09e3a Improve LM implementation (#373)
- Manage end of the log packet correctly.
- Add drop count, time, and program name parsing.
- Use the correct buffer type. (0x21 not 0x9)
- Prefix unknown fields with "Field"
2018-08-22 18:06:29 -03:00
Thomas Guillemard
b08d889f95 SvcSetHeapSize: match kernel check for invalid size (#374)
This fix games like DK Country
2018-08-21 13:05:12 -03:00
ReinUsesLisp
afc44850be Avoid gpr overwritting on Ld_C instruction (#371)
* Avoid gpr overwritting on LD_C instruction

* Address feedback

* Ignore invalid registers
2018-08-20 23:31:10 -03:00
ReinUsesLisp
afdeee2b86 Use signed and unsigned vertex types (#370) 2018-08-20 16:02:38 -03:00
LDj3SNuD
d021d5dfa9 Add AESD, AESE, AESIMC, AESMC instructions; add 4 simple Tests (closed box). (#365)
* Create CpuTestSimdCrypto.cs

* Update AOpCodeTable.cs

* Create AInstEmitSimdCrypto.cs

* Update ASoftFallback.cs

* Create ACryptoHelper.cs
2018-08-20 01:20:26 -03:00
ReinUsesLisp
726de8c46a Rendertarget attachments, texture and image changes (#358)
* Add multiple color outputs for fragment shaders

* Add registers and gal enums

* Use textures for framebuffers and split color and zeta framebuffers

* Abstract texture and framebuffer targets as an image

* Share images between framebuffers and textures

* Unstub formats

* Add some formats

* Disable multiple attachments

* Cache framebuffer attachments

* Handle format types

* Add some rendertarget formats

* Code cleanup

* Fixup half float types

* Address feedback

* Disable multiple attachments in shaders

* Add A4B4G4R4 image format

* Add reversed section for image enums
2018-08-19 22:25:26 -03:00
gdkchan
056c2840b1
Fix MapPhysicalMemory when block position is less than map position (#359)
* Fix MapPhysicalMemory when block position is less than map position

* Only try to free pages that are actually mapped

* Only unmap after freeing the memory
2018-08-17 10:39:35 -03:00
LDj3SNuD
34100051e4 Add SHA256H, SHA256H2, SHA256SU0, SHA256SU1 instructions; add 4 Tests (closed box). (#352)
* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update Pseudocode.cs

* Update Instructions.cs

* Update Bits.cs

* Update Integer.cs

* Update AOpCodeTable.cs

* Create AInstEmitSimdHash.cs

* Update ASoftFallback.cs
2018-08-16 21:44:44 -03:00
gdkchan
521751795a
Code style fixes and nits on the HLE project (#355)
* Some style fixes and nits on ITimeZoneService

* Remove some unneeded usings

* Remove the Ryujinx.HLE.OsHle.Handles namespace

* Remove hbmenu automatic load on process exit

* Rename Ns to Device, rename Os to System, rename SystemState to State

* Move Exceptions and Utilities out of OsHle

* Rename OsHle to HOS

* Rename OsHle folder to HOS

* IManagerDisplayService and ISystemDisplayService style fixes

* BsdError shouldn't be public

* Add a empty new line before using static

* Remove unused file

* Some style fixes on NPDM

* Exit gracefully when the application is closed

* Code style fixes on IGeneralService

* Add 0x prefix on values printed as hex

* Small improvements on finalization code

* Move ProcessId and ThreadId out of AThreadState

* Rename VFs to FileSystem

* FsAccessHeader shouldn't be public. Also fix file names casing

* More case changes on NPDM

* Remove unused files

* Move using to the correct place on NPDM

* Use properties on KernelAccessControlMmio

* Address PR feedback
2018-08-16 20:47:36 -03:00
gdkchan
182d716867
Remove artificial call count limit for EndGl (#357) 2018-08-16 20:45:00 -03:00
ReinUsesLisp
6e1a6c5b2b Implement PointCoord and PointSize shader attributes (#353)
* Implement PointCoord and PointSize shader attributes

* Address feedback
2018-08-16 02:26:03 -03:00
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