Commit Graph
100 Commits
Author SHA1 Message Date
Weiyi WangandGitHub e51a642a13 Merge pull request #3455 from citra-emu/revert-2968-hle_thread_pause
Revert "Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled"
2018-02-22 23:41:54 +02:00
wwylele 26a9c5832d keep the namespace comment 2018-02-22 17:46:31 +02:00
wwylele d9500ecf9b Revert "Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled" 2018-02-22 17:31:58 +02:00
Weiyi WangandGitHub e2eab46535 Merge pull request #3070 from B3n30/uds_connect_disconnect
NWM_UDS: change to Service Framework
2018-02-22 16:55:59 +02:00
wwylele dfc22661a4 NWM_UDS: change SleepClientThread to use std::chrono::nanoseconds 2018-02-22 16:44:04 +02:00
Weiyi WangandGitHub 48512d9011 Merge pull request #3101 from Subv/hle_thread_pause2
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled
2018-02-22 16:23:34 +02:00
wwylele 42ab8d9d0b HLE: specify that the command buffer is an array of u32_le 2018-02-22 16:12:39 +02:00
wwylele f3d22ccde4 APT: don't skip translation parameters 2018-02-19 22:30:38 +02:00
Weiyi WangandGitHub 775fb388c2 Merge pull request #3429 from Cuyler36/fs_user-stub-secure-value-functions
Service/FS_User: Stub Secure Value Functions
2018-02-14 17:32:26 +02:00
wwylele c4db298a7d HLE/IPC: remove assertion on empty buffer.
Some service functions do require to push an empty buffer in some cases. See APT:ReceiveParameter/GlanceParameter
2018-02-11 00:09:52 +02:00
wwylele 66141ed004 apt: fix doc format 2018-02-09 18:10:46 +02:00
Weiyi WangandGitHub 3c03da12c8 Merge pull request #3069 from B3n30/announce_room_webservice
Announce room webservice
2018-02-08 18:46:10 +02:00
wwylele 8970e28031 APT: convert to ServiceFramework 2018-02-03 19:40:22 +02:00
Weiyi WangandGitHub e53e07b528 Merge pull request #3325 from BreadFish64/CompatibiltyReporting
Add ability to send test cases through telemetry
2018-01-27 00:56:55 +02:00
wwylele 92f0064b47 APT/Applet: move applet managing into its own class 2018-01-25 22:20:08 +02:00
Weiyi WangandGitHub 189bd79dff Merge pull request #3404 from FearlessTobi/patch-1
Fix minor spelling error in CMakeLists
2018-01-21 15:34:25 +02:00
Weiyi WangandGitHub 8fdd45f3bb Merge pull request #3398 from literalmente-game/patch-1
Update configure_web.cpp
2018-01-18 22:11:32 +02:00
Weiyi WangandGitHub e2a8f155d3 Merge pull request #3168 from CDAGaming/pr_Improvements
[External] Travis CI Quick Fix + Minor Submodule Updates
2018-01-18 18:27:23 +02:00
Weiyi WangandGitHub 83d186d996 Merge pull request #3395 from lioncash/catch
externals: Update catch to 2.1.0
2018-01-18 10:10:28 +02:00
wwylele f42f7dfcab Service/Y2R: convert to ServiceFramework 2018-01-12 13:38:20 +02:00
Weiyi WangandGitHub 9b647d459b Merge pull request #3324 from Subv/gspgpu
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
wwylele 9be3ce83db Service/PTM: convert to ServiceFramework 2018-01-10 14:23:35 +02:00
wwylele 8ca20ca6f0 README: add info about translation 2018-01-04 15:26:15 +02:00
Weiyi WangandGitHub a66e4585a0 Merge pull request #3304 from wwylele/hid-new-framework
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
Weiyi WangandGitHub 3f7f2b42c0 Merge pull request #3257 from tgsm/y2r-ipc
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
Weiyi WangandGitHub 743c247f46 Merge pull request #3338 from wwylele/resource-limit-fix
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-31 08:56:02 +02:00
wwylele 7daa2a51d7 Kernel/SVC: fix typo in GetResourceLimitLimitValues 2017-12-30 23:42:32 +02:00
wwylele 80ed0f03ac cmake: add missing ${...} for variables inside generator expressions 2017-12-23 03:00:15 +02:00
wwylele bf23f8d542 HID: convert to ServiceFramework 2017-12-22 12:41:41 +02:00
wwylele 5345d2e957 fixup!citra_qt: load translation from resource 2017-12-22 12:34:49 +02:00
Weiyi WangandGitHub 4c3a4ab664 Merge pull request #3306 from lioncash/qt4
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00
wwylele eeec04fcaa ldr_ro: use ServiceFramework's session slot for client slot 2017-12-17 01:43:12 +02:00
wwylele 798a1c6ae9 Travis, Appveyor: build with languages 2017-12-16 13:11:05 +02:00
wwylele 9fba503c9e Travis: push translation source change to transifex 2017-12-16 13:11:05 +02:00
wwylele 500a7f07c2 cmake: generate translation file and add to resource for citra_qt 2017-12-16 13:11:05 +02:00
wwylele 62890b253e citra_qt: load translation from resource 2017-12-16 13:11:05 +02:00
wwylele 35b1306941 ir_user: convert to ServiceFramework 2017-12-09 18:14:51 +02:00
wwylele 4812e98e05 ir_rst: convert to ServiceFramework
also fix the wrong header in Shutdown
2017-12-09 18:14:51 +02:00
wwylele f3e41fe941 ir_u: convert to ServiceFramework 2017-12-09 12:34:23 +02:00
wwylele 5026480b36 svc: correct GetProcessInfo(20) 2017-12-08 21:28:48 +02:00
wwylele 07acc6ceab cam: convert to ServiceFramework 2017-12-08 11:20:48 +02:00
wwylele 2b907dadf4 cro_helper: add todo about process handle 2017-12-07 16:20:15 +02:00
wwylele 9749a43cc4 ldr_ro: create per-client storage; pass process where needed 2017-12-07 16:01:01 +02:00
wwylele 8e4e663113 memory: add overload with process parameter for ZeroBlock and CopyBlock 2017-12-07 15:59:54 +02:00
wwylele de8dbbf0b6 ldr_ro: convert to ServiceFramework 2017-12-07 15:59:54 +02:00
wwylele 6050d000fa fs: correct header code; remove dead code 2017-12-05 16:34:01 +02:00
wwylele fda023c9fa ipc_helper: split PushMoveObjects and PushCopyObjects 2017-12-04 19:46:44 +02:00
wwylele ff00cb391a service/ptm: add missing % in logging 2017-12-03 11:52:42 +02:00
Weiyi WangandGitHub 2664042325 Merge pull request #3086 from Subv/swkbd_launch
HLE/APT: Allow launching native applets instead of HLE ones.
2017-12-03 11:38:29 +02:00
Weiyi WangandGitHub 14819d0b84 Merge pull request #3138 from wwylele/ipc-mapped-buffer
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
2017-12-03 11:33:48 +02:00
Weiyi WangandGitHub 466bec2d43 Merge pull request #3144 from BreadFish64/CIAInstallUI
QT CIA installation
2017-12-03 11:32:58 +02:00
wwylele 94ae0b1305 HLE/Tests: add tests for MappedBuffer IPC HLE translation 2017-12-03 00:05:20 +02:00
wwylele a79a8d17fa FS: transform File to ServiceFramework 2017-12-03 00:05:20 +02:00
wwylele cef6b15de4 IPC Helpers: Implement MappedBuffer translation helper for new interface 2017-12-03 00:05:20 +02:00
wwylele 3ecf650bf9 Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture. 2017-12-03 00:05:20 +02:00
wwylele 3b960fe651 citra-qt: fix broken About box 2017-11-06 18:08:53 +02:00
Weiyi WangandGitHub 1300c96995 Merge pull request #3080 from citra-emu/Subv-ReleaseMutex-Return
Kernel/Mutex: Add a missing return in Mutex::Release
2017-11-06 14:06:53 +02:00
wwylele 4fdc877626 remove trailing spaces 2017-11-06 13:57:06 +02:00
Weiyi WangandGitHub 4fc0448093 Merge pull request #3064 from wwylele/printf-warnings
Clean all format warnings
2017-11-05 10:32:46 +02:00
wwylele 499508389c core: clear format warnings 2017-11-01 12:35:32 +02:00
wwylele 47c0c87c47 video_core: clean format warnings 2017-11-01 12:35:32 +02:00
wwylele 2bcbd565b8 Add missing header for PRIU64 2017-10-27 18:52:50 +03:00
Weiyi WangandGitHub a81536f53f Merge pull request #2944 from huwpascoe/perf-3
Optimized Float<M,E> multiplication
2017-09-25 03:37:14 +03:00
wwylele 7117fcc024 citra-qt: fix some untranslated strings 2017-09-24 17:53:35 +03:00
Weiyi WangandGitHub 7ea3ce103f Merge pull request #2936 from B3n30/system_curl_linux
WebService: Set USE_SYSTEM_CURL for travis linux builds
2017-09-19 12:26:53 +03:00
Weiyi WangandGitHub 617b6974b9 Merge pull request #2831 from Subv/uds_auth
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
2017-09-05 15:03:56 +03:00
Weiyi WangandGitHub b9126a64bf Merge pull request #2876 from mailwl/mii-stru
Mii Selector Applet: update Mii structures
2017-09-05 14:23:07 +03:00
Weiyi WangandGitHub 9b6dbe9b54 Merge pull request #2917 from jroweboy/icon_fix
Fix icon for citra qt
2017-09-04 03:42:58 +03:00
wwylele 59a9aaf388 APT: load different shared font depending on the region 2017-09-03 12:34:11 +03:00
wwylele 12fbc8c8df pica/lighting: only apply Fresnel factor for the last light 2017-09-03 08:22:03 +03:00
wwylele e2c41a5891 video_core: report telemetry for gas mode 2017-08-31 12:54:17 +03:00
Weiyi WangandGitHub 4693d23efb Merge pull request #2901 from stone3311/master
Fix info about TODO list
2017-08-28 03:23:59 -05:00
Weiyi WangandGitHub 647f017c6d Merge pull request #2892 from Subv/warnings2
Warnings: Fixed a few missing-return warnings in video_core.
2017-08-28 03:21:51 -05:00
wwylele 417cb45e3f SwRasterizer/Clipper: flip the sign convention to match PICA and OpenGL 2017-08-25 07:26:45 +03:00
wwylele addbcd5784 gl_rasterizer: implement custom clip plane 2017-08-25 07:26:45 +03:00
wwylele ea51a3af26 SwRasterizer: implement custom clip plane 2017-08-24 15:34:27 +03:00
wwylele 2617de1fe6 EmuWindow: refactor touch input into a TouchDevice 2017-08-24 15:00:56 +03:00
wwylele c84e60b470 HID: use TouchDevice for touch pad 2017-08-24 13:56:43 +03:00
wwylele 4d058cfb76 motion_emu: fix initialization order 2017-08-22 11:43:44 +03:00
wwylele 17c6104d2a gl_rasterizer/lighting: more accurate CP formula 2017-08-22 09:34:44 +03:00
wwylele b5aa570354 SwRasterizer/Lighting: implement LUT input CP 2017-08-22 09:34:44 +03:00
wwylele 3e478ca131 SwRasterizer/Lighting: implement bump mapping 2017-08-22 09:34:44 +03:00
wwylele 63b6e802cd swrasterizer: remove invalid TODO
This function is called in clipping, before the pespective divide, and is not used in later rasterization. Thus it doesn't need perspective correction.
2017-08-21 08:03:07 +03:00
wwylele 72b26ac32f swrasterizer/clipper: remove tested TODO
hwtested. Current implementation is the correct behavior
2017-08-21 08:03:07 +03:00
wwylele 5a4af616c6 gl_shader_gen: simplify and clarify the depth transformation between vertex shader and fragment shader 2017-08-21 08:03:07 +03:00
wwylele 1eca380886 gl_rasterizer: add clipping plane z<=0 defined in PICA 2017-08-21 08:03:07 +03:00
wwylele 54c0c8adee HID: fix a comment and a warning 2017-08-20 08:37:48 +03:00
wwylele 0f35755572 pica/command_processor: build geometry pipeline and run geometry shader
The geometry pipeline manages data transfer between VS, GS and primitive assembler. It has known four modes:
 - no GS mode: sends VS output directly to the primitive assembler (what citra currently does)
 - GS mode 0: sends VS output to GS input registers, and sends GS output to primitive assembler
 - GS mode 1: sends VS output to GS uniform registers, and sends GS output to primitive assembler. It also takes an index from the index buffer at the beginning of each primitive for determine the primitive size.
 - GS mode 2: similar to mode 1, but doesn't take the index and uses a fixed primitive size.
hwtest shows that immediate mode also supports GS (at least for mode 0), so the geometry pipeline gets refactored into its own class for supporting both drawing mode.
In the immediate mode, some games don't set the pipeline registers to a valid value until the first attribute input, so a geometry pipeline reset flag is set in `pipeline.vs_default_attributes_setup.index` trigger, and the actual pipeline reconfigure is triggered in the first attribute input.
In the normal drawing mode with index buffer, the vertex cache is a little bit modified to support the geometry pipeline. Instead of OutputVertex, it now holds AttributeBuffer, which is the input to the geometry pipeline. The AttributeBuffer->OutputVertex conversion is done inside the pipeline vertex handler. The actual hardware vertex cache is believed to be implemented in a similar way (because this is the only way that makes sense).
Both geometry pipeline and GS unit rely on states preservation across drawing call, so they are put into the global state. In the future, the other three vertex shader units should be also placed in the global state, and a scheduler should be implemented on top of the four units. Note that the current gs_unit already allows running VS on it in the future.
2017-08-19 10:13:20 +03:00
wwylele 8285ca4ad8 pica/shader/jit: implement SETEMIT and EMIT 2017-08-19 10:13:20 +03:00
wwylele 36981a5aa6 pica/primitive_assembly: Handle winding for GS primitive
hwtest shows that, although GS always emit a group of three vertices as one primitive, it still respects to the topology type, as if the three vertices are input into the primitive assembler independently and sequentially. It is also shown that the winding flag in SETEMIT only takes effect for Shader topology type, which is believed to be the actual difference between List and Shader (hence removed the TODO). However, only Shader topology type is observed in official games when GS is in use, so the other mode seems to be just unintended usage.
2017-08-19 10:13:20 +03:00
wwylele bb63ae3052 correct constness 2017-08-19 10:13:20 +03:00
wwylele 28128348f2 pica/shader/interpreter: implement SETEMIT and EMIT 2017-08-19 10:13:20 +03:00
wwylele 46c6973d2b pica/shader: extend UnitState for GS
Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
2017-08-19 10:13:20 +03:00
wwylele 223bd35450 motion_emu: no need to include thread in header 2017-08-19 07:21:02 +03:00
Weiyi WangandGitHub 7cd8a65949 Merge pull request #2875 from wwylele/bump-skip
gl_shader_gen: don't call SampleTexture when bump map is not used
2017-08-12 01:23:45 +03:00
wwylele 686fb3e78c gl_shader_gen: don't call SampleTexture when bump map is not used 2017-08-11 18:35:00 +03:00
wwylele 188194908c move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
wwylele 867eabd6b7 HID: use MotionDevice for Accelerometer and Gyroscope 2017-08-11 11:03:18 +03:00
Weiyi WangandGitHub 53ef90d1bd Merge pull request #2874 from danzel/spelling-1
Fix some spelling mistakes
2017-08-11 11:02:14 +03:00
wwylele 945f9a1b04 SwRasterizer/Lighting: implement spot light 2017-08-11 01:19:10 +03:00