Commit Graph

3975 Commits

Author SHA1 Message Date
Yuri Kunde Schlesner 1d80acd1fc result: Make error description a generic integer
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner 6f946f7978 Make BitField and ResultCode constexpr-initializable 2017-05-24 21:05:59 -07:00
bunnei 71f0737c18 telemetry: Log a few simple data fields throughout core. 2017-05-24 19:16:23 -04:00
bunnei 184c66a1ee core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
bunnei 3e2acbbba6 common: Add a generic interface for logging telemetry fields. 2017-05-24 19:16:21 -04:00
wwylele e6ea8f3a39 cam: move u32->u8 trancation to IPCHelper 2017-05-24 12:50:19 +03:00
wwylele 3e76e3739b cam: use IPCHelper 2017-05-24 12:45:36 +03:00
Sebastian Valle 828824e958 Merge pull request #2692 from Subv/vfp_ftz
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-22 12:16:53 -05:00
Yuri Kunde Schlesner 17ff984981 Merge pull request #2406 from Subv/session_disconnect
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv be1e28cbde fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled. 2017-05-21 18:56:09 -05:00
Subv 620c84a612 Kernel/Sessions: Remove the ClientSession::Create function.
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00
Merry 77a7c1ccce Merge pull request #2694 from Subv/vfp_vsub_ftz
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
2017-05-22 00:50:52 +01:00
wwylele ec0b9fb820 swrasterizer: add missing tc0_w and fragment lighting attribute processing 2017-05-21 09:09:15 +03:00
wwylele b06772686f gl_rasterizer: implement procedural texture 2017-05-20 13:50:50 +03:00
wwylele eba689e736 pica/swrasterizer: implement procedural texture 2017-05-20 13:50:50 +03:00
bunnei baf412faf4 Merge pull request #2661 from Subv/uds5
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
bunnei 9d88774435 Merge pull request #2710 from emmauss/ptm_ipc
use IPCHelper for PTM services
2017-05-19 11:03:55 -04:00
emmaus e0c9ee023b use IPCHelper for PTM services 2017-05-19 08:44:58 +00:00
wwylele 53a6a4a83f pica: use correct register value for shader bool_uniforms
variable value is not masked. the masked and combined register value should be used instead
2017-05-17 22:14:09 +03:00
Yuri Kunde Schlesner 589a568e19 Merge pull request #2703 from wwylele/pica-reg-revise
pica: correct bit field length for some registers
2017-05-16 10:00:37 -07:00
wwylele 402e92f4a4 pica: correct bit field length for some registers 2017-05-16 19:24:06 +03:00
Subv ce59ce0cfb Services/UDS: Use the new IPC helper functions. 2017-05-15 13:05:17 -05:00
Subv 013b1ef55f Services/UDS: Implement RecvBeaconBroadcastData.
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
2017-05-15 13:05:16 -05:00
Subv fc0b30d3f5 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
Subv b666a71713 Kernel: Remove a now unused enum and variable regarding a session's status. 2017-05-15 11:22:16 -05:00
Subv d21789195d Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-05-15 11:22:15 -05:00
Yuri Kunde Schlesner 32555869bc Merge pull request #2687 from yuriks/address-mappings
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
Subv ec934f2172 Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example,

vsub: -0 - +0 = -0
vadd: -0 + +0 = +0

Now we'll flush the value to +0 inside vsub, and then negate it.
2017-05-13 18:03:41 -05:00
Weiyi Wang 901b06a2df Merge pull request #2695 from JayFoxRox/gs-regs
Prepare Pica registers for Geometry Shaders
2017-05-12 18:02:45 +03:00
Jannik Vogel 35570252e1 Pica: Write GS registers
This adds the handlers for the geometry shader register writes which will call the functions from the previous commit to update registers for the GS.
2017-05-12 16:22:37 +02:00
Jannik Vogel ee56dfd830 Pica: Write shader registers in functions
The commit after this one adds GS register writes, so this moves the VS handlers into functions so they can be re-used and extended more easily.
2017-05-12 16:22:37 +02:00
Jannik Vogel 54a038c69c Pica: Set program code / swizzle data limit to 4096
One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.

The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```

New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]).
2017-05-11 15:01:27 +02:00
Yuri Kunde Schlesner ce318a9c8a Merge pull request #2669 from jroweboy/async_file_watcher
Frontend: Prevent FileSystemWatcher from blocking UI thread
2017-05-10 18:44:06 -07:00
James Rowe a986389467 Frontend: Prevent FileSystemWatcher from blocking UI thread
Instead of tying the QFileSystemWatcher to the GameList and updating in
the UI thread, this change moves it to the worker thread. Since it gets
deleted and recreated as part of the worker thread, this prevents it from
ever getting used from multiple threads (which is why it was originally
done on the UI thread)
2017-05-10 09:37:44 -06:00
bunnei 11f1fcd57d Merge pull request #2676 from wwylele/irrst
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
Yuri Kunde Schlesner a4f06962b6 Kernel: Map special regions according to ExHeader
This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner c47c3096fc DSP: Create backing memory for entire DSP RAM
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner 0b7d4b5e1d Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
2017-05-09 21:43:59 -07:00
Yuri Kunde Schlesner 318d54203b Merge pull request #2696 from Subv/vfp_revert
Dyncom/VFP: Revert edf30d8 and fix the FPSCR getting invalid values.
2017-05-08 21:38:45 -07:00
Subv 395687312c Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions. 2017-05-09 00:36:23 -05:00
Subv a1713d1060 Revert "Remove exceptions parameter from normaliseround VFP functions"
This reverts commit edf30d84cc.

Conflicts:
	src/core/arm/skyeye_common/vfp/vfp_helper.h
	src/core/arm/skyeye_common/vfp/vfpdouble.cpp
	src/core/arm/skyeye_common/vfp/vfpsingle.cpp
2017-05-09 00:36:22 -05:00
Subv 362d5e4efb Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
Inputs are still not flushed to 0 if they are denormals.
2017-05-08 14:34:16 -05:00
Yuri Kunde Schlesner 13d1aa5c83 Dyncom: Remove disassembler code
Had licensing issue around it, in addition to several bugs.

Closes #1632, #1280
2017-05-07 15:33:46 -07:00
Yuri Kunde Schlesner 652b35ed55 Dyncom: Tweak types and log formatting 2017-05-07 15:33:42 -07:00
Yuri Kunde Schlesner c4406dea79 Remove unused symbols code 2017-05-07 15:33:39 -07:00
Yuri Kunde Schlesner ab72f84eaf Remove ability to load symbol maps
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
Yuri Kunde Schlesner 414e756fe0 citra-qt: Remove callstack widget
Appears to be currently broken, and given the complexity of doing this
for ARM code without debugging information, should probably be left to
an external tool or library. Use the GDB stub instead.

Closes #586
2017-05-07 15:32:47 -07:00
Yuri Kunde Schlesner a3a28d376a citra-qt: Remove disassembler widget
It has performance problems, a very misleading UI, and is broken in
general. It has essentially been superceded by the GDB stub, but if we
wanted a built-in disassembler in the future it'd essentially need to be
rewritten from scratch anyway.

Closes #427, #1480
2017-05-07 15:29:36 -07:00
Yuri Kunde Schlesner d402532fd1 Merge pull request #2682 from nicoboss/filter
citra-qt: game list search function fixed minor mistakes
2017-05-07 13:46:46 -07:00
wwylele a68e9e92f8 fixup!ir: implement new 3ds HID via ir:rst 2017-05-07 21:53:27 +03:00