Commit Graph

922 Commits

Author SHA1 Message Date
fdda67d476 Some fix to IRequest on NIFM, support sending objects to services (#294) 2018-07-29 01:36:29 -03:00
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
51605fafc0 Avoid calling buffer binding when shader didn't change (#295) 2018-07-26 13:49:29 -03:00
39d36145ba update encoding for branch instruction (#305) 2018-07-26 13:46:05 -03:00
4a3ed0cec7 implemented ListDisplays 2018-07-24 21:38:55 +00:00
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
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
ed075ae3cd Update ITimeZoneService.cs
Fix typo
2018-07-22 19:38:29 +00:00
4b8a65fd84 Add Npdm parsing into Ryujinx.HLE 2018-07-20 17:53:06 -04:00
241b46540d Stub AppletOE UnlockExit (#279)
* Implement AppletOE UnlockExit
2018-07-19 20:27:50 -03:00
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
45bb24dbae fix extra space 2018-07-19 18:53:49 +00:00
c9fc52edb6 Fix SystemPathToSwitchPath platform issues and make sure to delete temporary NRO after sessions dispose (#293) 2018-07-19 15:44:52 -03:00
8b67297711 Added appveyor configuration file (#277) 2018-07-19 20:49:34 +03:00
ee064a2fb8 .gitignore: ignore autogenerated launchSettings.json (#292)
thanks to @Cyuubi
2018-07-19 13:45:50 -03:00
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
bdb6cbb435 AOpCodeTable: Speed up instruction decoding (#284) 2018-07-19 02:32:37 -03:00
60f2198a1e 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
2018-07-19 02:30:21 -03:00
8b685b12f0 Implement SvcWaitForAddress 0x34 (#289)
* Implement SvcWaitForAddress 0x34

Currently needed by Sonic Mania Plus

* Fix mistake

* read-decrement-write locked
2018-07-19 01:03:53 -03:00
6a69001aa2 Update IGeneralService.cs
Fixed little mistake on the debug string.
2018-07-19 03:10:51 +02:00
2795af038d 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
2018-07-19 03:06:45 +02:00
fa5545aab8 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
2018-07-18 21:06:28 -03:00
120fe6b74a Implement BF10GF11RF11 TextureFormat (#246)
* add BF10GF11RF11 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel

* correct PixelType
2018-07-19 01:26:28 +02:00
0a13900bc9 Implement Z24S8 TextureFormat (#247)
* add Z24S8 TextureFormat

* return correct PixelFormat & PixelType

* return correct texture size

* return correct Bytes Per Pixel

* Correct PixelType
2018-07-19 01:19:37 +02:00
2236f4b2c3 Implement IFileSystem:CleanDirectoryRecursively (#283)
* implement ifilesys:cleandirectoryrecursively

* clean up Ifilesystem
2018-07-18 21:05:17 +02:00
98223b0e7d Fix wrong assignment and allow null FilePaths on Executable 2018-07-17 17:28:41 -03:00
571848536b 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
2018-07-17 16:50:00 -03:00
c2c765b30f 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
2018-07-17 16:14:27 -03:00
5d698a7d8d Fix LDXP/LDAXP when Rt == Rn (#274) 2018-07-16 15:57:15 -03:00
e71da4fb74 Implement BC6H_SF16 & BC6H_UF16 Texture Formats (#255)
* Implement BC6H_SF16 & BC6H_UF16

* correct coding style (1/5)

* correct coding style (2/5)

* correct coding style (3/5)

* correct coding style (4/5)

* correct coding style (5/5)
2018-07-16 15:09:34 -03:00
3e13b40b35 Add config key to dump shaders in local directory (#265)
* Add config key to dump shaders in local directory

* Address feedback
2018-07-15 19:37:27 -03:00
063fae50fe Fix EmitHighNarrow(), EmitSaturatingNarrowOp() when Rd == Rn || Rd == Rm (& Part != 0). Optimization of EmitVectorTranspose(), EmitVectorUnzip(), EmitVectorZip() algorithms (reduction of the number of operations and their complexity). Add 12 Tests about Trn1/2, Uzp1/2, Zip1/2 (V) instructions. (#268)
* Update CpuTestSimdArithmetic.cs

* Update CpuTestSimd.cs

* Update CpuTestSimdReg.cs

* Update Instructions.cs

* Update AInstEmitSimdArithmetic.cs

* Update AInstEmitSimdHelper.cs

* Update AInstEmitSimdMove.cs

* Delete CpuTestSimdMove.cs
2018-07-15 00:53:26 -03:00
50b706e2ba Fix RevMagic on audren 2018-07-15 00:42:59 -03:00
a48ed788bf Remove outdated comment 2018-07-15 00:37:30 -03:00
8652dbb57c Small nit on GetAudioRendererWorkBufferSize 2018-07-15 00:34:12 -03:00
21e590c3ab Add support for ioctl2, SetTimeout and KickoffPbWithAttr (#261)
* Add support for ioctl2, SetTimeout and KickoffPbWithAttr

* Call UnloadProcess on NvHostChannelIoctl aswell
2018-07-15 00:04:46 -03:00
98c6ceede5 Audio Renderer improvements (#210)
* Partial voice implementation on audio renderer

* Implemented audren resampler (based on original impl)

* Fix BiquadFilter struct

* Pause audio playback on last stream buffer

* Split audren/audout files into separate folders, some minor cleanup

* Use AudioRendererParameter on GetWorkBufferSize aswell

* Bump audren version to REV4, name a few things, increase sample buffer size

* Remove useless new lines
2018-07-14 23:57:41 -03:00
be31f5b46d Improve CountLeadingZeros() algorithm, nits. (#219)
* Update AInstEmitSimdArithmetic.cs

* Update ASoftFallback.cs

* Update ASoftFallback.cs

* Update ASoftFallback.cs

* Update AInstEmitSimdArithmetic.cs
2018-07-14 15:07:44 -03:00
fc12fca962 Allow using ulong max value as yield (#263) 2018-07-14 13:53:44 -03:00
514218ab98 Add SMLSL, SQRSHRN and SRSHR (Vector) cpu instructions, nits (#225)
* Add SMLSL, SQRSHRN and SRSHR (Vector) cpu instructions

* Address PR feedback

* Address PR feedback

* Remove another useless temp var

* nit: Alignment

* Replace Context.CurrOp.GetBitsCount() with Op.GetBitsCount()

* Fix encodings and move flag bit test out of the loop
2018-07-14 13:13:02 -03:00
2f37583ab3 Some small shader related fixes (#258)
* Some small shader related fixes

* Address PR feedback
2018-07-14 13:08:39 -03:00
494f8f0248 Implement CSRNG (Cryptographically Secure Random Bytes) (#216)
* Implement CSRNG (Cryptographically Secure Random Bytes)

* Compliant with review.

* Dispose Rng
2018-07-13 23:36:57 +02:00
37bf02f057 TimeZone implements cmd 0, 1, 2, 3, 4 and 100 (#250)
The implementation of the TimezoneRule isn't matching hardware but
doesn't need to be accurate (games are only passing the value)
2018-07-13 23:35:19 +02:00
3b00333b0c Add return of Texture Size and Bytes Per Pixel of ASTC2D 5x5, 6x6, 8x8, 10x10 and 12x12 (#249)
* return correct size of ASTC 5x5, 6x6, 8x8, 10x10 and 12x12

* return correct Bytes Per Pixel

* Use method in order to get CompressedTextureSize

* Add Read16BptCompressedTexture method

* add Bpb integer argument
2018-07-12 21:27:59 -03:00
b233ae964f AInstEmitSimdCvt: Half-precision to single-precision conversion (#235) 2018-07-12 15:51:02 -03:00
cd18ab29df Loop GLScreen with custom method (#244)
* Loop GLScreen with custom method

* Fix deadlocks

* Fix screen resizing

* Change event to bool

* Try to fix quitting error

* Set title from main thread

* Queue max 1 vsync, fix high FPS after a slowdown
2018-07-12 14:03:52 -03:00
37071285bc NvGetConfig with production/non production swapping (#243)
* GetConfig should return 0x30006 in production mode

* GetConfig will now check settings only if nv!rmos_set_production_mode is set to "0"

* Code formatting, TryGetValue

* Slight fixup

* dont forget the setting

* Implemented non production mode setting grabbing

* format issue

* style changes
2018-07-12 03:41:35 +02:00
09c53fe06f Update README.md 2018-07-12 00:08:20 +02:00
1968386808 Add locking methods to the ogl resource cache (#238)
* Add locking methods to the ogl resource cache

* Remove some unused arguments

* Add the ZF32 texture format
2018-07-09 23:01:59 -03:00
791fe70810 Allow sample rate of 0 on OpenAudioOut, fix 5.1 sound output (#240) 2018-07-09 22:49:07 -03:00