0
0
Fork 0
Commit graph

1105 commits

Author SHA1 Message Date
gdkchan
b8eb6abecc
Refactor shader GPU state and memory access ()
* Refactor shader GPU state and memory access

* Fix NVDEC project build

* Address PR feedback and add missing XML comments
2020-05-06 11:02:28 +10:00
plutoo
7f500e7cae
set: Quick implementation of GetKeyCodeMap/GetKeyCodeMap2 ()
* set: Quick implementation of GetKeyCodeMap/GetKeyCodeMap2

This fixed USB keyboard access in official titles.

* hid: Stub SendKeyboardLockKeyEvent

* Update Ryujinx.HLE/HOS/Services/Settings/ISettingsServer.cs

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* Update Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* set: KeyboardLayout bringup

* set: Small bugfix

* Fix GetKeyCodeMapImpl

* Revert SystemRegion > RegionCode in Configuration

* Fix SendKeyboardLockKeyEvent

Co-authored-by: Ac_K <Acoustik666@gmail.com>
2020-05-05 20:50:53 +02:00
SeraUX
8be7335176
Logging the current firmware version ()
* Logging the curent firmware version

* fixed an error in cases when firmware is not installed
2020-05-05 21:51:04 +10:00
HorrorTroll
371b9999f2
Add Docked/Handheld text on status bar ()
* Add Dock/Handheld on status bar

* Simplified the code & move next to V-Sync

* Nit.
2020-05-05 08:10:01 +10:00
VolcaEM
f84fb20959
Add error code for denied internet request in Friends ()
* Add error code for denied internet request in Friends

* Fix formatting from previous PR
2020-05-04 23:10:15 +10:00
VolcaEM
232d53a1ff
Add various error codes to Loader ()
* Add various result codes to Loader

The error codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes)

For the last 9 errors, Switchbrew says: ACID/ACI0 don't match for descriptor (descriptor)

* Fix typo
2020-05-04 13:22:28 +02:00
gdkchan
15d1cc806b
Move kernel state out of the Horizon class ()
* Move kernel state from Horizon to KernelContext

* Merge syscalls partial classes, split 32 and 64-bit variants

* Sort usings
2020-05-04 13:41:29 +10:00
riperiperi
cd48576f58
Implement Counter Queue and Partial Host Conditional Rendering ()
* Implementation of query queue and host conditional rendering

* Resolve some comments.

* Use overloads instead of passing object.

* Wake the consumer threads when incrementing syncpoints.

Also, do a busy loop when awaiting the counter for a blocking flush, rather than potentially sleeping the thread.

* Ensure there's a command between begin and end query.
2020-05-04 12:24:59 +10:00
Mary
651a07c6c2
Refactor SystemInfo and implement macOS system info backend () 2020-05-04 12:15:27 +10:00
Ac_K
4c54f36c38
Upgrade projects to C#8 ()
Some parts of our code needs C# 8 who isn't set as default in Visual Studio. To fix this we have to set the C# version correctly in the csproj files and then we are be able to build the project using Visual Studio.
2020-05-04 12:14:48 +10:00
Thog
2285a1792f
Remove travis configuration () 2020-05-04 12:12:42 +10:00
Ficture Seven
180ad8605d
Improve IRDumper ()
* Improve IRDumper

* Make Symbols.Add(ulong, ulong, ulong, string) thread safe

* Use a StringBuilder for MemoryOperand

* Add #if M_DEBUG guards

* Fix JMP_TABLE typo

* Fix using in Symbols

* Use Conditional("M_DEBUG") instead

Address gdkchan's feedback

* Use a struct instead of 4-tuple

Address gdkchan's feedback

* Place symbols in comments instead

Address gdkchan's feedback

* Use StringBuilder throughout

* Handle offsetted symbols

* Fix naming convention of Builder

* Avoid ArgumentException

* Remove unnecessary using

* Use switch expression instead

* Turn into a class

* Clean up

* Remove unnecessary using
2020-05-04 12:06:22 +10:00
mageven
53369e79bd
Implement user-defined clipping on GL state pipeline () 2020-05-04 12:04:49 +10:00
Thog
12399b8aea
Update GLWidget to 1.0.2 ()
This should fix OpenGL context creation on OSX (using Cocoa).

NOTE: As macOS doesn't support OpenGL 4.3, the emulator will probably not work but this fix the hardcrash when starting any games.
2020-05-04 08:58:59 +10:00
gdkchan
f77694e4f7
Implement a new physical memory manager and replace DeviceMemory ()
* Implement a new physical memory manager and replace DeviceMemory

* Proper generic constraints

* Fix debug build

* Add memory tests

* New CPU memory manager and general code cleanup

* Remove host memory management from CPU project, use Ryujinx.Memory instead

* Fix tests

* Document exceptions on MemoryBlock

* Fix leak on unix memory allocation

* Proper disposal of some objects on tests

* Fix JitCache not being set as initialized

* GetRef without checks for 8-bits and 16-bits CAS

* Add MemoryBlock destructor

* Throw in separate method to improve codegen

* Address PR feedback

* QueryModified improvements

* Fix memory write tracking not marking all pages as modified in some cases

* Simplify MarkRegionAsModified

* Remove XML doc for ghost param

* Add back optimization to avoid useless buffer updates

* Add Ryujinx.Cpu project, move MemoryManager there and remove MemoryBlockWrapper

* Some nits

* Do not perform address translation when size is 0

* Address PR feedback and format NativeInterface class

* Remove ghost parameter description

* Update Ryujinx.Cpu to .NET Core 3.1

* Address PR feedback

* Fix build

* Return a well defined value for GetPhysicalAddress with invalid VA, and do not return unmapped ranges as modified

* Typo
2020-05-04 08:54:50 +10:00
gdkchan
1758424208
Use correct swizzle on depth-stencil textures () 2020-05-03 23:18:00 +02:00
gdkchan
ea3d5fde73
Remove buffer invalidation () 2020-05-03 23:07:42 +02:00
VolcaEM
b0f0bd205d
Add various error codes to Audio ()
The error codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes)
2020-05-03 22:45:22 +02:00
riperiperi
28e12dad0f
Fix issues causing keyboard profiles to throw errors on load. ()
* Fix issues causing keyboard profiles to throw errors on load.

* Re-add space before the using aliases
2020-05-03 20:42:17 +02:00
VolcaEM
cf1ea4d155
Add various error codes to BCAT ()
* Add various error codes to BCAT

The error codes were taken from Switchbrew (switchbrew.org/wiki/Error_codes)

As for InternetRequestDenied, it seems that this error is common for multiple services like Account for example
I already added this error code in Account in PR 

* Add some results codes from Libhac and keep names consistent
2020-05-03 17:06:30 +02:00
Xpl0itR
676fc73885
Revert package include condition () 2020-05-03 15:36:51 +02:00
Thog
80d0cc7d6f system: Make index 0 of keyboards in configuration 'all keyboards' 2020-05-03 15:00:29 +02:00
Thog
afecb551c5 ui: fix major regression on SaveConfig 2020-05-03 12:08:21 +02:00
Xpl0itR
538fba826b
Improvements to input and input configuration in the GUI. ()
* Improvements to input and input configuration in the GUI

* Requested changes

* nits

* more nits
2020-05-03 04:00:53 +02:00
Xpl0itR
5f3558fd51
catch key errors () 2020-05-03 01:43:22 +02:00
Michael Kuklinski
9be4e4c766
Adding .editorconfig so code style can be consistent and localized ()
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1.

* Updating appveyor settings for 3.1

Updating appveyor to use the netcoreapp3.1 path instead of 3.0.

* Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe.

* Removing unused NuGet package SharpFontCore.

* Removing unused NuGet package TimeZoneConverter.Posix

* Cleaning up by adding newline to a csproj.

* Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package.

* Adding .editorconfig so users have a consistent style setting regardless of their local settings.

* I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK.

* Making the runtime version into its own environment variable so it's a bit easier to change in the future.

* Removing OpenTK.NetStandard reference from Ryujinx.Common

* Fixing indentation in Common.csproj

* Updating the README to specify .NET Core 3.1.

* Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-05-03 00:58:58 +02:00
Thog
764891e670
nvservice: add a lock around NvHostEvent and remove release fence on SFv2 ()
* nvservice: add a lock to NvHostEvent

* Disable surface flinger release fence and readd infinite timeout

* FenceAction: Add a timeout of 1 seconds as this shouldn't wait forever anyuway

* surfaceflinger: remove leftovers from the release fence

* Don't allow infinite timeout on syncpoint while printing all timeout for better debugging
2020-05-02 22:47:06 +02:00
VolcaEM
0a3b75ae2b
Add error code for denied internet request in Account ()
InternetRequestDenied (I can't find a better name) was taken from Switchbrew (switchbrew.org/wiki/Error_codes)
Regarding this error, SwitchBrew notes: "IsAnyInternetRequestAccepted with the output from GetClientId returned false."
2020-05-02 14:12:11 +02:00
VolcaEM
8a7c00c39a
Add various error codes to AM ()
* Add various error codes to AM

The error codes were taken from Switchbrew (https://switchbrew.org/wiki/Error_codes)

* TitleID -> TitleId
2020-05-02 13:45:45 +02:00
Thog
81cba3c3df
nvservices: mitigate abort with heavy load on the GPU processing thread ()
* nvservices: mitigate abort with heavy load on the GPU processing thread.

This should fix Mario Tennis and LM3 regressions with syncpoints.

NOTE: Mario Tennis seems to have another issue related to the texture
cache that happens randomly when starting a match.

PS: Also add a debug logger for all known ioctl call to facilitate
debugging and add a missing UpdateMin in EventSignal.

* Address LDj3SNuD's comment

* Address gdkchan's comment
2020-05-01 23:18:42 +02:00
Ficture Seven
71dbb38b9a
Do not compute dominance information when not in SSA () 2020-05-01 23:15:55 +02:00
Thog
a0c06103c9
am: add IsVrModeEnabled ()
* am: stub IsVrMode

Needed by SSBU 7.0.0

* Address Ac_K's comments
2020-05-01 18:51:00 +02:00
Alex Barney
ba7db8ccef
Update to LibHac 0.11.1 ()
- Adds EnumerateDeliveryCacheDirectory to BCAT
2020-05-01 00:11:10 +02:00
Thog
886e42fb19
Use the official JSON parser ()
This remove Utf8son and JsonPrettyPrinter dependencies.

NOTE: the standard JSON parser doesn't support configurable
indentation, as a result, all the pretty printed JSON are indented with 2
spaces.
2020-04-30 14:07:41 +02:00
Alex Barney
7ab3fccd4d
Add BCAT delivery cache support ()
* Initial bcat delivery cache support

* Use LibHac 0.11.0

* Add option to open the BCAT savedata directory
2020-04-30 14:58:19 +10:00
Thog
23170da5a0
audren: implement Renderer Info output informations ()
This implement the rendering information output informations of
RequestUpdate.

This is needed by some games to keep track of the count of update on the
DSP.
2020-04-30 13:03:05 +10:00
riperiperi
c2ac45adc5
Fix depth clamp enable bit, unit scale for polygon offset. ()
Verified with deko3d and opengl driver code.
2020-04-30 11:47:24 +10:00
Patrick Grabensteiner
ec620e2de0
Create log folder if not exists fixes ()
* Create log folder if not exists fixes 

* Fixed Format

Co-authored-by: Patrick Grabensteiner <patrick.grabensteiner@gmx.at>
2020-04-28 03:50:36 +02:00
Thog
486f3163f3
Fix hbl 2.3.1 and hbmenu 3.3.0 ()
* Fix hbl 2.3.1 and hbmenu 3.3.0

* log class: Add ServicePtm

* fix build issue

* do not cast titleId to byte

* Address Ac_K's comment
2020-04-28 11:44:29 +10:00
Xpl0itR
59145acd7c
Revert package include condition () 2020-04-27 23:08:13 +10:00
gdkchan
10a2b9dca3
Fix shadow RAM affecting MME methods () 2020-04-27 08:22:18 +10:00
Thog
3dfa4232f8 Fix building of previous commit 2020-04-25 16:17:22 +02:00
gdkchan
9261ec6bc8
Fix MME shadow RAM implementation () 2020-04-25 23:56:56 +10:00
gdkchan
1c9aba6de1
Fix mode and Reg08.H1 decoding on XMAD instruction () 2020-04-25 23:40:29 +10:00
gdkchan
34d19f381c
Fix texture level offset/size calculation when sparse tile width is > 1 ()
* Fix texture level offset/size calculation when sparse tile width is > 1

* Sparse tile width affects layer size alignment aswell
2020-04-25 23:40:20 +10:00
gdkchan
bcc5b0d21e
Fix kernel memory allocator block coalescing ()
* Fix kernel memory allocator block coalescing

* Fix and move clear bit logic to a separate method
2020-04-25 23:25:22 +10:00
Thog
74f8a9bd79
UI: Implement interactive search on GameTable ()
As I was unable to disable the ctrl + f keybinding, this implement
something to make it works with the default GTK code logic.

Also remove unused _treeView static member.
2020-04-25 23:02:44 +10:00
gdkchan
3cb1fa0e85
Implement texture buffers ()
* Implement texture buffers

* Throw NotSupportedException where appropriate
2020-04-25 23:02:18 +10:00
Xpl0itR
a065dc1626
Log Ryujinx Version, OS Name, CPU Name and RAM size ()
* Log Ryujinx version and OS

* Log total RAM size and CPU name

* Requested changes

* requested change

* jd's requested changes

* jd's requested changes
2020-04-25 23:01:32 +10:00
gdkchan
fe5bb439f1
Do temp constant copy for CompareAndSwap, other improvements to PreAllocator ()
* Do temp constant copy for CompareAndSwap, other improvements to PreAllocator

* Nit
2020-04-25 23:00:54 +10:00