gdkchan
30829fce52
Fix wrong type on CMTST instruction
2018-05-23 12:57:28 -03:00
gdkchan
e78737089c
Remove some calls generated on the CPU for inexistent intrinsic methods
2018-05-23 00:27:48 -03:00
gdkchan
79e0070363
Improve shader sending method to GAL, use a memory interface instead of reading a fixed array size and sending every time
2018-05-22 22:43:31 -03:00
gdkchan
7ac5f40532
Add scalar variants of FCVTZS/FCVTZU, fix a issue on Ryushader
2018-05-18 14:44:49 -03:00
gdkchan
b19c474082
Added more shader instructions, including BFE, BRA (partial), FMNMX, ISCADD, SHL, LD_C, some shader related fixes, added support for texture component selection
2018-05-17 15:25:42 -03:00
gdkchan
9b9ead94cd
Only use higher priority on yield, change reschedule to be per-thread instead of using SchedulerThread to store the reschedule flag
2018-05-15 23:49:57 -03:00
gdkchan
73a3233d57
Fix some races in SvcThreadSync and change the way how yield works
2018-05-15 22:37:54 -03:00
gdkchan
fdfa9424c8
Fix typo and update priority/avoid duplicates on UpdateMutexOwner
2018-05-14 03:09:08 -03:00
gdkchan
ee0b14ba08
Some improvements to SetThreadCoreMask, simplified implementation of wait lists
2018-05-14 03:01:10 -03:00
gdkchan
9e50ed53e6
Implement GetTpcMasks on nvservices
2018-05-13 22:10:45 -03:00
gdkchan
b2b1d7dcd7
Better implementation of SetThreadCoreMask that allows changing the Core Mask (untested, no clue if it actually works)
2018-05-13 22:00:29 -03:00
gdkchan
4546d1b9be
Initial work to support changing thread core on the scheduler, also some cond var priority fixes
2018-05-13 00:22:42 -03:00
gdkchan
3603497a13
Allow using self thread id on some svcs ( fixes #117 )
2018-05-11 23:05:06 -03:00
gdkchan
0381a09227
Fix WidthInGobs on the GPU
2018-05-11 20:20:44 -03:00
gdkchan
fee4b0eb8a
Update min sdk version on readme (for real this time)
2018-05-11 20:18:59 -03:00
gdkchan
5ed1471d96
Update min sdk version on readme
2018-05-11 20:17:43 -03:00
gdkchan and GitHub
f9f111bc85
Add intrinsics support ( #121 )
...
* Initial intrinsics support
* Update tests to work with the new Vector128 type and intrinsics
* Drop SSE4.1 requirement
* Fix copy-paste mistake
2018-05-11 20:10:27 -03:00
gdkchan
ac91607ac3
Fix regression caused by wrong endian on GetAudioRendererWorkBufferSize version check
2018-05-07 16:03:30 -03:00
gdkchan and GitHub
34037701c7
NvServices refactoring ( #120 )
...
* Initial implementation of NvMap/NvHostCtrl
* More work on NvHostCtrl
* Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind
* Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb)
* Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks
* Remove now unused code, add comment about probably wrong result codes
2018-05-07 15:53:23 -03:00
gdkchan
5f0dd965bf
Ignore ZR target texture color registers on shader
2018-04-30 14:32:54 -03:00
gdkchan
071754aaeb
Fix GetDesiredLanguage and expose a way to set the desired language, default to english
2018-04-29 20:18:46 -03:00
gdkchan
f73a182b20
Properly support multiple vertex buffers, stub 2 ioctls, fix a shader issue, change the way how the vertex buffer size is calculated for the buffers with limit = 0
2018-04-29 17:58:38 -03:00
gdkchan
17f4ccf2d5
Remove unnecessary casts from NxSettings
2018-04-26 13:57:25 -03:00
gdkchan
1af78416d1
Add null terminator to audio device names when writing to the output buffer
2018-04-26 11:34:40 -03:00
gdkchan
81e74ebd86
Remove thread from the threads list when it finishes, remove debug code
2018-04-26 00:07:12 -03:00
gdkchan
a38a72b062
Some small sync primitive fixes, logging fixes, started to implement the 2D engine on the GPU, fixed DrawArrays, implemented a few more shader instructions, made a start on nvdrv refactor, etc...
2018-04-25 23:12:26 -03:00
gdkchan and GitHub
e4f59c8a52
Update README.md
2018-04-24 21:06:49 -03:00
gdkchan
2a985de88c
[HLE/Audio] Use correct audio device names
2018-04-24 17:14:26 -03:00
gdkchan and GitHub
a8ba340dde
Improved logging ( #103 )
2018-04-24 15:57:39 -03:00
gdkchan
db0aa54233
Print guest stack trace on a few points that can throw exceptions
2018-04-22 02:48:17 -03:00
gdkchan
bd9b1e2c6b
Stub a few services, add support for generating call stacks on the CPU
2018-04-22 01:22:46 -03:00
gdkchan and GitHub
90279d96ea
Implement the synchronization primitives like the Horizon kernel does ( #97 )
...
* Started to work in improving the sync primitives
* Some fixes
* Check that the mutex address matches before waking a waiting thread
* Add MutexOwner field to keep track of the thread owning the mutex, update wait list when priority changes, other tweaks
* Add new priority information to the log
* SvcSetThreadPriority should update just the WantedPriority
2018-04-21 16:07:16 -03:00
gdkchan
03002f6537
Add SvcSetThreadActivity, tweak SignalProcessWideKey, add fmul32i shader instructions and other small fixes
2018-04-19 16:18:30 -03:00
gdkchan
33ae6e544b
[HLE/Kernel] Fix SetThreadPriority, allow nano seconds values > int.MaxValue, fix on WaitProcessWideKeyAtomic (althrough looks like it still doesn't work properly
2018-04-19 04:06:23 -03:00
gdkchan
62b2124c03
[HLE/Kernel] Dispose the thread wait even on exit
2018-04-19 01:01:46 -03:00
gdkchan
6e69cd9284
Fix bad merge, and a few other fixes
2018-04-19 00:19:22 -03:00
gdkchan
ac80e7d3f9
[HLE/Kernel] Yield when cond var is signaled
2018-04-19 00:00:29 -03:00
gdkchan
b9af34f3dd
[HLE/Kernel] Somewhat improved sync primitives
2018-04-18 23:52:36 -03:00
gdkchan
494e6dfa1e
[GPU] Set frame buffer texture size to window size
2018-04-14 01:31:27 -03:00
gdkchan
7dd14a4f3a
[GPU] Send correct window size to the vertex shader
2018-04-14 01:14:42 -03:00
gdkchan
42ebfdff7f
[GPU] Fix frame buffer being upside down in some cases
2018-04-14 00:39:24 -03:00
gdkchan
47100ec8c1
[GPU] Avoid drawing the frame buffer with alpha blend enabled, use correct blend enable register, clear the buffer before drawing
2018-04-13 22:42:55 -03:00
gdkchan
435f9ffad8
[HLE] Fix hid issues on some games
2018-04-13 17:39:45 -03:00
gdkchan
032c442505
[GPU] Remove 1f in RCP instruction emitter on glsl decompiler
2018-04-13 16:01:29 -03:00
gdkchan
8ab76a7bd4
[GPU] Do not use the f suffix on float contants on the shader glsl code
2018-04-13 15:53:16 -03:00
gdkchan
237eaeb920
Bump glsl version to support layout qualifier
2018-04-13 15:36:12 -03:00
gdkchan and GitHub
c8c86a3854
Fix for current framebuffer issues ( #78 )
...
[GPU] Fix some of the current framebuffer issues
2018-04-13 15:12:58 -03:00
gdkchan
9227b0ea59
[CPU] Speed up translation a little bit
2018-04-11 14:44:03 -03:00
gdkchan
46548bbc41
[HLE/Service] Fix ToCalendarTimeWithMyRule (for real this time)
2018-04-10 21:18:20 -03:00
gdkchan
29a4fb6a57
[HLE/Service] Fix ToCalendarTimeWithMyRule
2018-04-10 21:16:27 -03:00
gdkchan
cb29b4303c
[CPU] Fix CNT instruction
2018-04-10 20:58:32 -03:00
gdkchan
7b2f471d4f
[GPU] Add support for the BC4/5 texture formats
2018-04-10 18:54:50 -03:00
gdkchan
f57fd95fd9
Fix regression -- enable raw frame buffer rendering
2018-04-10 16:56:03 -03:00
gdkchan
feb2680a6c
[GPU] Add more shader instructions, add support for rgb565 textures
2018-04-10 16:50:32 -03:00
gdkchan
ecf02f525f
Remove line numbers from log
2018-04-08 17:38:27 -03:00
gdkchan
36dfd20c87
Use correct pitch value when decoding linear swizzle textures
2018-04-08 17:09:41 -03:00
gdkchan
b9aa3966c0
Merge shader branch, adding support for GLSL decompilation, a macro
...
interpreter, and a rewrite of the GPU code.
2018-04-08 16:41:38 -03:00
gdkchan
980691f36b
[CPU] Fix CBZ/CBNZ with 32 bits operands
2018-04-06 17:22:26 -03:00
gdkchan
702daf2ff4
[CPU] Fail early when the index/size of the vector is invalid
2018-04-06 15:39:39 -03:00
gdkchan
b27944c0b5
Bump the maximum number of threads
2018-04-06 10:53:18 -03:00
gdkchan
df3cbadceb
Fix FRSQRTS and FCM* (scalar) instructions
2018-04-06 10:20:17 -03:00
gdkchan
a7ecf6dd2d
Show service short name for unimplemented commands
2018-04-06 02:38:59 -03:00
gdkchan
081ede2a9a
Support the .romfs extension aswell
2018-04-06 02:02:13 -03:00
gdkchan
36d9130592
Add FMLS (vector) instruction
2018-04-06 01:41:54 -03:00
gdkchan
2fd718c163
Fix typo
2018-04-06 01:07:51 -03:00
gdkchan
dcf0f0be38
Fix possible regression on bsd
2018-04-06 01:06:34 -03:00
gdkchan
69e32e5bbc
Rename services with the official interface names
2018-04-06 01:01:52 -03:00
gdkchan
f15b1c76a1
Add FRSQRTS and FCM* instructions
2018-04-05 23:28:12 -03:00
gdkchan
4c19c908e5
Color* should be an array in NvGpuIoctlZbcSetTable
2018-04-05 10:23:52 -03:00
gdkchan
45c078d782
Add Faddp (vector) instruction
2018-04-04 22:13:10 -03:00
gdkchan
9754836c1b
Fix GetAvailableLanguageCodes, stub ListAddOnContent and NvGpuAsIoctlRemap (0x4114)
2018-04-04 21:01:36 -03:00
gdkchan
2d33756878
Stub ActivateKeyboard on Hid
2018-04-04 19:44:02 -03:00
gdkchan
c8b6274456
Stub ActivateMouse on Hid
2018-04-04 19:39:47 -03:00
gdkchan
a3d6baab91
Remove useless spacing
2018-04-04 19:29:34 -03:00
gdkchan
e16ca561cb
HashSet is not thread safe, hopefully this fixes the CPU issue where it throws a exception on Add
2018-04-04 18:17:37 -03:00
gdkchan
a20d6b34ab
Add PRFM (unscaled) instruction
2018-04-04 18:10:20 -03:00
gdkchan
7fe12ad169
Add FNEG (vector) instruction
2018-04-04 16:36:07 -03:00
gdkchan
e0c3d9c8df
Fix SvcGetThreadId
2018-04-04 16:07:44 -03:00
gdkchan
0ac4681fa0
Fix 32-bits extended register instructions with 64-bits extensions
2018-03-30 23:32:06 -03:00
gdkchan
53e2d34905
Enable all ld/st (single structure) instructions
2018-03-30 18:06:02 -03:00
gdkchan
916540ff41
Fix EXT/Widening instruction carrying garbage values on some cases, fix ABD (it shouldn't accumulate, this is another variation of the instruction)
2018-03-30 17:37:31 -03:00
gdkchan
76ac31add6
Add BIT instruction
2018-03-30 16:46:00 -03:00
gdkchan
19b8344568
Add UABD instruction
2018-03-30 16:30:23 -03:00
gdkchan
ba43af5765
Add UABDL instruction
2018-03-30 16:16:16 -03:00
gdkchan
f42f39fd90
Add UADDL instruction
2018-03-30 15:55:28 -03:00
gdkchan
9b6fa1f89e
Add UHADD instruction
2018-03-30 12:37:07 -03:00
gdkchan
b2549d83bf
Add FNMADD instruction
2018-03-24 00:28:23 -03:00
gdkchan
d4a3e8267b
Allow enabling/disabling memory checks on config file
2018-03-20 18:42:13 -03:00
gdkchan
e922c3627a
Rename IpcServices -> Services
2018-03-20 17:00:00 -03:00
gdkchan
1bd99e5597
Support different framebuffer offsets ( fixes #59 )
2018-03-20 12:18:25 -03:00
gdkchan and GitHub
4314a8f3e5
[WIP] Add support for events ( #60 )
...
* Add support for events, move concept of domains to IpcService
* Support waiting for KThread, remove some test code, other tweaks
* Use move handle on NIFM since I can't test that now, it's better to leave it how it was
2018-03-19 15:58:46 -03:00
gdkchan
4940cf0ea5
Add BFI instruction, even more audout fixes
2018-03-16 00:42:44 -03:00
gdkchan
88c6160c62
Add MLA (vector by element), fixes some cases of MUL (vector by element)?
2018-03-15 22:36:47 -03:00
gdkchan and GitHub
79a5939734
Improvements to audout ( #58 )
...
* Some audout refactoring and improvements
* More audio improvements
* Change ReadAsciiString to use long for the Size, avoids some casting
2018-03-15 21:06:24 -03:00
gdkchan
92f47d535e
Fix crc32 instruction with size greater than a byte
2018-03-15 18:14:22 -03:00
gdkchan
ee8fb18a0f
Fix CPU instruction Ld/St (single structure) with index != 0
2018-03-15 12:59:23 -03:00
gdkchan
b50bc46888
CPU fix for the cases using a Mask with shift = 0
2018-03-14 01:59:22 -03:00
gdkchan
d067b4d5e0
Remove unused function from CPU
2018-03-14 00:57:07 -03:00
gdkchan
553ba659c4
Add CRC32 instruction and SLI (vector)
2018-03-14 00:12:05 -03:00
gdkchan
19564e570b
Stub StartSixAxisSensor
2018-03-13 21:26:14 -03:00