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
37a6e84fd4
Add REV16/32 (vector) instructions and fix REV64
2018-06-25 18:40:55 -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 and GitHub
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 and GitHub
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
gdkchan and GitHub
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
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
gdkchan
b747b23607
Add the FADDP (scalar) instruction
2018-06-18 00:41:28 -03:00
gdkchan and GitHub
36827c2355
Partial GPU DMA support ( #158 )
2018-06-13 10:55:01 -03:00
gdkchan
9176180abb
Minor shader fixes
2018-06-12 09:26:49 -03: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
gdkchan
a0ee977ce5
Use sample counter on HID controller layouts
2018-06-10 19:32:39 -03:00
gdkchan
49fd76db0f
Fix a small size related issue on MapBufferEx and add the BC7U texture format
2018-06-10 01:00:43 -03:00
gdkchan
adeb8793c2
Fix a thread sync bug as is the usual...
2018-06-09 22:41:07 -03:00
gdkchan
aa75957ce2
Somewhat better implementation of thread yield
2018-06-09 18:19:14 -03:00
gdkchan
7f5a8effbb
Move WriteBytes to AMemory, implement it with a Marshal copy like ReadBytes, fix regression on address range checking
2018-06-09 13:05:41 -03:00
gdkchan
91420a402c
Use source texture size when doing reads for texure copy
2018-06-09 00:46:06 -03:00
gdkchan
7822348439
Small cleanup in AMemory and removed some unused usings
2018-06-08 23:54:50 -03:00
gdkchan
9136897d4a
Do not inline the scalar vector load methods as a workaround to a .net JIT bug
2018-06-08 23:49:53 -03:00
gdkchan and GitHub
231fae1a4c
Texture/Vertex/Index data cache ( #132 )
...
* Initial implementation of the texture cache
* Cache vertex and index data aswell, some cleanup
* Improve handling of the cache by storing cached ranges on a list for each page
* Delete old data from the caches automatically, ensure that the cache is cleaned when the mapping/size changes, and some general cleanup
2018-06-08 21:15:56 -03:00
gdkchan
df33dcc489
Force inline some of the vector read/write methods
2018-06-04 16:11:11 -03:00
gdkchan
741ec27b1d
Fix ILibraryAppletCreator CreateStorage, implement Write on IStorageAccessor
2018-06-04 02:09:41 -03:00
gdkchan
e7efee7909
Use GetBufferType0x21 on TransactParcelAuto aswell
2018-06-02 20:40:26 -03:00
gdkchan
f03a43fa38
Fix copy-paste mistake, also related to astc...
2018-06-02 13:39:52 -03:00
gdkchan
4731c7545d
Fix mistake on astc conversion, make some static methods that shouldn't be public private, remove old commmented out code
2018-06-02 11:44:52 -03:00
gdkchan
7a6ce48184
Re add some texture formats that I somehow removed by accident on OGLEnumConverter
2018-06-02 00:53:50 -03:00
gdkchan
53a6922f87
Some small gpu improvements and shader improvements, add support for ASTC 4x4 textures (slow!)
2018-06-02 00:50:56 -03:00
gdkchan
f43dd08064
Added support for more shader instructions and texture formats, fix swapped channels in RGB565 and RGBA5551? texture formats, allow zero values on blending registers, initial work to build CFG on the shader decoder, update the BRA instruction to work with it (WIP)
2018-05-29 20:37:10 -03:00
gdkchan
9670c096e4
Initial work to support AArch32 with a interpreter, plus nvmm stubs (not used for now)
2018-05-26 17:50:47 -03:00
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