Commit graph

67 commits

Author SHA1 Message Date
greggameplayer
81ddf0d6c0 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
greggameplayer
4ae38a669e 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
emmauss
b609f95412 Implement IFileSystem:CleanDirectoryRecursively (#283)
* implement ifilesys:cleandirectoryrecursively

* clean up Ifilesystem
2018-07-18 21:05:17 +02:00
gdkchan
32dc0e573c Fix wrong assignment and allow null FilePaths on Executable 2018-07-17 17:28:41 -03:00
Thomas Guillemard
64b0934cc0 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
greggameplayer
16b71e832e 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
gdkchan
95132dceee Fix RevMagic on audren 2018-07-15 00:42:59 -03:00
gdkchan
50556d0149 Remove outdated comment 2018-07-15 00:37:30 -03:00
gdkchan
b9f6df8d90 Small nit on GetAudioRendererWorkBufferSize 2018-07-15 00:34:12 -03:00
gdkchan
83f8a44002 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
d7201d5b99 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
dffe7c26dc Allow using ulong max value as yield (#263) 2018-07-14 13:53:44 -03:00
gdkchan
e4175c19e1 Some small shader related fixes (#258)
* Some small shader related fixes

* Address PR feedback
2018-07-14 13:08:39 -03:00
Starlet
2f9860a3fc 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
02d3fc4cf2 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
1ef303d569 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
149583d68e 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
3c8f98a249 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
c4feec7a6a 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
7796a93bd2 Allow sample rate of 0 on OpenAudioOut, fix 5.1 sound output (#240) 2018-07-09 22:49:07 -03:00
gdkchan
70d0de42eb 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
b623e12e70 Implement GPU primitive restart (#221) 2018-07-08 13:14:35 -03:00
gdkchan
2509dd11f4 Improvements to IAudioOutManager (#232)
* Improvements to IAudioOutManager

* Make implementation private
2018-07-08 12:42:10 -03:00
ReinUsesLisp
6e3f112e27 Disable front facing and face culling to avoid regression (#226)
* Disable tests for framebuffer blitting
2018-07-06 23:40:12 -03:00
ReinUsesLisp
1bc4d49e4d 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
e3f0ac8c96 Fix formatting on ISettingsServer 2018-07-03 21:45:41 -03:00
John Clemis
754862561c 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 6cc56bfe7ed473fedf8dfe79c7a888bbe7cfe147.

* Revert "Revert "Added Extra Configuration Options""

This reverts commit 4809e5effe7f54cdb67bc5e2b4f01315ae34efc5.

* 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
d2d490253a 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
9229b242a0 Implement GetReleasedAudioOutBufferAuto properly (#206)
* Implement GetReleasedAudioOutBufferAuto properly

* Also implement AppendAudioOutBufferAuto properly
2018-06-30 12:53:04 -03:00
Thomas Guillemard
c225a6a075 Add linux-x64 to RID property to make tests works on linux (#205) 2018-06-30 12:43:04 -03:00
gdkchan
386e6937d6 Add support for vertex base on indexed draws, fix index buffer first (untested) (#197) 2018-06-28 20:48:18 -03:00
greggameplayer
d9aa0f4cc4 add the forgotten mm:u link (#190) 2018-06-28 23:32:07 +02:00
gdkchan
c7e95b1a16 Somewhat better ClearBuffers implementation 2018-06-28 00:11:49 -03:00
gdkchan
c6e873368c 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
303f1adf9e 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
53778e429f Relax GetThreadContext3 by allowing it to get the context of a running thread 2018-06-26 01:26:21 -03:00
gdkchan
813566edc0 Set PC value on SvcCall aswell 2018-06-26 01:14:18 -03:00
gdkchan
3028d3719a Implement SvcGetThreadContext3 2018-06-26 01:10:15 -03:00
gdkchan
bb04b23ca7 Fix GetLastOpenedUser stub returning an invalid account id value 2018-06-25 17:12:59 -03:00
gdkchan
2cd57f1ba2 Aways write voice state as finished playing while proper audren support is not in place 2018-06-25 02:04:19 -03:00
gdkchan
a7de328a4f 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
dbbf5d3632 Workaround for recent audren regression 2018-06-23 03:17:07 -03:00
gdkchan
b8786d0acc 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
1b48089a12 Better audren implementation (#179) 2018-06-23 02:00:14 -03:00
gdkchan
e19f298185 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
2d2cb7e17b NvGpuEngine3d: Fix uploading vertex arrays without index buffers. (#173) 2018-06-18 10:59:03 -03:00
gdkchan
43cfbf6c63 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
c1094d68ef 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
c27161fa42 Merge pull request #152 from greggameplayer/patch-5
Implement ListAudioOutsAuto & OpenAudioOutAuto
2018-06-17 04:16:16 +00:00
greggameplayer
e2417351ec delete mixed tabs & spaces & use void for methods 2018-06-15 17:54:18 +02:00