Yuri Kunde Schlesner
5196d242f6
Merge pull request #2729 from yuriks/quaternion-fix
...
OpenGL: Improve accuracy of quaternion interpolation
2017-05-28 01:24:06 -07:00
Yuri Kunde Schlesner
4a5d297fe7
CMake: Correct inter-module dependencies and library visibility
...
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
9be2268f6c
Citra: Convert include into forward declaration
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
9ca67c2e82
Remove some unnecessary inclusions of video_core.h
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
466433f753
Move screen size constants from video_core to core
...
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
17770e7174
OpenGL: Remove unused RendererOpenGL fields
2017-05-27 18:02:46 -07:00
Yuri Kunde Schlesner
75308ee0b4
Core: Fix some out-of-style includes
2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner
7c7d65b038
Common: Fix some out-of-style includes
2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner
65ed1a0a71
Move framebuffer_layout from Common to Core
...
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
Yuri Kunde Schlesner
5ab34912df
Merge pull request #2725 from wwylele/texture-sampler
...
gl_shader: refactor texture sampler into its own function
2017-05-27 03:26:50 -07:00
Yuri Kunde Schlesner
815a09c7bc
OpenGL: Improve accuracy of quaternion interpolation
...
Current order of operations (rotate then normalize) seems to produce a
lot more distortion than normalizing and then rotating. This makes Citra
results match pretty closesly with hardware, and indicates that hardware
may also be using lerp instead of slerp to interpolate the quaternions.
2017-05-27 00:13:41 -07:00
wwylele
b27fc52cee
gl_shader: refactor texture sampler into its own function
2017-05-27 01:56:22 +03:00
bunnei
ca32a47bb0
Merge pull request #2716 from yuriks/decentralized-result
...
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
675d483535
Merge pull request #2697 from wwylele/proctex
...
Implemented Procedural Texture (Texture Unit 3)
2017-05-24 21:37:42 -07:00
Yuri Kunde Schlesner
62903f34e9
FS: Remove unused result definition
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
c899aa6840
Common: Clean up meta-template logic in BitField
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
fd8aeacfa1
Kernel: Centralize error definitions in errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
ecd456cc94
GSP_GPU: Move error codes from result.h to local file
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
5dc6e08426
FileSys: Move all result description to errors.h
2017-05-24 21:06:00 -07:00
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
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