Commit graph

358 commits

Author SHA1 Message Date
gdkchan
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
gdkchan
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
gdkchan
fc12fca962
Allow using ulong max value as yield (#263) 2018-07-14 13:53:44 -03:00
gdkchan
2f37583ab3
Some small shader related fixes (#258)
* Some small shader related fixes

* Address PR feedback
2018-07-14 13:08:39 -03:00
Starlet
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
Thomas Guillemard
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
greggameplayer
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
ReinUsesLisp
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
David
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
gdkchan
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
gdkchan
791fe70810
Allow sample rate of 0 on OpenAudioOut, fix 5.1 sound output (#240) 2018-07-09 22:49:07 -03:00
gdkchan
095db47e13
Query multiple pages at once with GetWriteWatch (#222)
* Query multiple pages at once with GetWriteWatch

* Allow multiple buffer types to share the same page, aways use the physical address as cache key

* Remove a variable that is no longer needed
2018-07-08 16:55:15 -03:00
ReinUsesLisp
6479c3e484 Implement GPU primitive restart (#221) 2018-07-08 13:14:35 -03:00
gdkchan
dc04b5465f
Improvements to IAudioOutManager (#232)
* Improvements to IAudioOutManager

* Make implementation private
2018-07-08 12:42:10 -03:00
ReinUsesLisp
0bec547b9d Disable front facing and face culling to avoid regression (#226)
* Disable tests for framebuffer blitting
2018-07-06 23:40:12 -03:00
ReinUsesLisp
97ca974213 Implement some GPU features (#209)
* Implement stencil testing

* Implement depth testing

* Implement face culling

* Implement front face

* Comparison functions now take OGL enums too

* Fix front facing when flipping was used

* Add depth and stencil clear values
2018-07-05 15:47:29 -03:00
gdkchan
c206239d28 Fix formatting on ISettingsServer 2018-07-03 21:45:41 -03:00
John Clemis
d24ea0d51b Add Controller Support (#196)
* Added Basic Controller Support

* Added Extra Configuration Options

Added a GamePad_Enable option and GamePad_Index option

* Revert "Added Extra Configuration Options"

This reverts commit 6cc56bfe7e.

* Revert "Revert "Added Extra Configuration Options""

This reverts commit 4809e5effe.

* Forgot to change the Gamepad Index

* Added Configuration for the A B X Y Buttons

* Added Button Configuration for all other Buttons

* Added Basic Joystick Configuration

* Fixed Joystick Axis Problems

Fixed Joystick Axis Problems when switching around the Joysticks (Left Stick is Right and Right stick is Left)

* Refactored all of the button mapping code

* Changes in compliance with review

* Changes in compliance with review

* Fixed problems in the configuration file with different regions

* Changes in compliance with review
2018-07-02 19:08:54 -03:00
Thomas Guillemard
0c96e22d40 Some things for time:* (#211)
- Fully implement ISystemClock
- Implement ISteadyClock 1.0 cmds
- Add cmd 300 to IStaticService
- Add EphemeralNetwork to SystemClockType
2018-07-02 02:03:05 +02:00
Lordmau5
e913d56fdc Implement GetReleasedAudioOutBufferAuto properly (#206)
* Implement GetReleasedAudioOutBufferAuto properly

* Also implement AppendAudioOutBufferAuto properly
2018-06-30 12:53:04 -03:00
Thomas Guillemard
2f25b34941 Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
gdkchan
3e81421b2f
Add support for vertex base on indexed draws, fix index buffer first (untested) (#197) 2018-06-28 20:48:18 -03:00
greggameplayer
3262fd13da add the forgotten mm:u link (#190) 2018-06-28 23:32:07 +02:00
gdkchan
22f138628b Somewhat better ClearBuffers implementation 2018-06-28 00:11:49 -03:00
gdkchan
e6eeb6f09f
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
2018-06-27 23:55:08 -03:00
gdkchan
900a84ae0a 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) 2018-06-27 01:32:28 -03:00
gdkchan
b8be89ab2d Relax GetThreadContext3 by allowing it to get the context of a running thread 2018-06-26 01:26:21 -03:00
gdkchan
2f29894d9f Set PC value on SvcCall aswell 2018-06-26 01:14:18 -03:00
gdkchan
65105c2a3b Implement SvcGetThreadContext3 2018-06-26 01:10:15 -03:00
gdkchan
8f4cd35ade Fix GetLastOpenedUser stub returning an invalid account id value 2018-06-25 17:12:59 -03:00
gdkchan
7c7ee8f8ca Aways write voice state as finished playing while proper audren support is not in place 2018-06-25 02:04:19 -03:00
gdkchan
e7559f128f
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
2018-06-23 21:39:25 -03:00
gdkchan
69697957e6 Workaround for recent audren regression 2018-06-23 03:17:07 -03:00
gdkchan
c26ddd6259
Fix 3 graphics related issues (#180)
* Fix 3 graphics related bugs

* OGLShader shouldn't be public (yet)
2018-06-23 02:00:44 -03:00
Starlet
5182361f4b Better audren implementation (#179) 2018-06-23 02:00:14 -03:00
gdkchan
3e6afeb513
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
2018-06-21 23:05:42 -03:00
Jules Blok
35e695552e NvGpuEngine3d: Fix uploading vertex arrays without index buffers. (#173) 2018-06-18 10:59:03 -03:00
gdkchan
46f18af6be Do not read or write macros to main memory, use a separate memory instead (as this apparently what the real thing does) 2018-06-18 01:32:11 -03:00
Ac_K
4e430760b4 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
2018-06-17 23:28:11 -03:00
Ac_K
3c4dafff3f
Merge pull request #152 from greggameplayer/patch-5
Implement ListAudioOutsAuto & OpenAudioOutAuto
2018-06-17 04:16:16 +00:00
greggameplayer
5a3449f5d9
delete mixed tabs & spaces & use void for methods 2018-06-15 17:54:18 +02:00
greggameplayer
e40db09bed
add a new Method for OpenAudioOut & OpenAudioOutAuto 2018-06-15 17:41:07 +02:00
greggameplayer
4397049c6a Implement ListAudioOutsAuto & OpenAudioOutAuto 2018-06-15 17:24:02 +02:00
Ac_K
e581abb2f5
Merge pull request #160 from greggameplayer/patch-7
Implement GetAvailableLanguageCodes2 with a method
2018-06-13 15:40:37 +00:00
greggameplayer
644a328b88
change places of the args of GetAvailableLanguagesCodesMethod 2018-06-13 17:38:19 +02:00
gdkchan
36827c2355
Partial GPU DMA support (#158) 2018-06-13 10:55:01 -03:00
greggameplayer
940de631ab
correct whitespaces 2018-06-13 15:12:03 +02:00
greggameplayer
d70ed99fb1
Implement GetAvailableLanguageCodes2 with a method 2018-06-13 15:08:11 +02:00
Ac_K
f1e866e248
Merge pull request #157 from Cyuubi/pctl-initialize-and-without-initialize
[PCTL] Add CreateServiceWithoutInitialize and Initialize
2018-06-13 00:53:54 +00:00
Starlet
c646a00918 Compliant with review. 2018-06-12 20:51:59 -04:00
Lordmau5
5b9ce52108 Remove comment 2018-06-13 01:29:39 +02:00
Lordmau5
e6f6c6ad57 Merge branch 'master' into ICommonStateGetter 2018-06-13 01:28:49 +02:00
Starlet
8442a5917f [PCTL] Add CreateServiceWithoutInitialize and Initialize 2018-06-12 14:28:45 -04:00
Lordmau5
98e6a34608 Implement R16 texture format (#147) 2018-06-12 09:29:44 -03:00
DatBoiJay3
274c996ff1
Neatness counts 2018-06-11 19:53:44 -07:00
DatBoiJay3
39b8e6bc37
Fix input in SMO
Unsure if this will break other games though.
Please test. :)
2018-06-11 19:29:12 -07:00
Lordmau5
c636c74dd2 Merge branch 'master' into ICommonStateGetter 2018-06-11 06:03:37 +02:00
gdkchan
76f3b1b3a4 Rename Ryujinx.Core to Ryujinx.HLE and add a separate project for a future LLE implementation 2018-06-10 21:46:42 -03:00