Rodolfo Bogado
eb9cd4e8f4
Add support for clear_flags register
2018-11-24 00:16:33 -03:00
bunnei
1ab133abef
Merge pull request #1744 from degasus/shader_cache
...
shader_cache: Only lock covered instructions.
2018-11-23 21:09:36 -05:00
bunnei
fcfdd7ffe2
Merge pull request #1741 from lioncash/kbd
...
software_keyboard: Minor changes
2018-11-23 21:09:18 -05:00
bunnei
dcf8fff3b0
Merge pull request #1770 from DarkLordZach/applet-stub
...
applets: Add StubApplet and use it as fallback when AppletId is not implemented
2018-11-23 09:02:25 -08:00
bunnei
2c83c6bbf3
Merge pull request #1777 from lioncash/core-mgr
...
core: Relocate CPU core management to its own class
2018-11-23 09:00:41 -08:00
bunnei
09ece69dd5
Merge pull request #1773 from lioncash/thread
...
common/thread: Minor cleanup
2018-11-23 08:52:05 -08:00
Hexagon12
c646fd7416
Added predicate comparison LessEqualWithNan ( #1736 )
...
* Added predicate comparison LessEqualWithNan
* oops
* Clang fix
2018-11-23 08:51:32 -08:00
bunnei
e0244ac679
Merge pull request #1756 from ReinUsesLisp/fix-textures
...
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-23 08:49:37 -08:00
bunnei
2336598870
Merge pull request #1766 from FernandoS27/fix-txq
...
Properly Implemented TXQ Instruction
2018-11-23 08:48:57 -08:00
bunnei
c1eafce526
Merge pull request #1762 from bunnei/getgputime
...
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
2018-11-23 08:35:26 -08:00
Zach Hilman
8bc01e0622
am: Return StubApplet instead of nullptr when AppletId not found
2018-11-22 15:58:11 -05:00
Mat M
d7e68fe8ac
Merge pull request #1779 from DarkLordZach/debug-pad-unmapped
...
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
2018-11-22 13:41:32 -05:00
Zach Hilman
49bddf73af
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
...
Prevents memory exceptions when the debug pad is enabled.
2018-11-22 12:23:43 -05:00
bunnei
64959e40d4
Merge pull request #1775 from bunnei/blend-eq
...
maxwell_3d: Implement alternate blend equations.
2018-11-22 08:44:05 -08:00
bunnei
52c74028ea
Merge pull request #1765 from bunnei/multi-audout
...
audout_u: Add support for multiple IAudioOut streams.
2018-11-22 08:43:53 -08:00
bunnei
c92de3cc70
Merge pull request #1764 from bunnei/macrointerpreter
...
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
2018-11-22 08:43:29 -08:00
Lioncash
d055c988ec
core: Relocate CPU core management to its own class
...
Keeps the CPU-specific behavior from being spread throughout the main
System class. This will also act as the home to contain member functions
that perform operations on all cores. The reason for this being that the
following pattern is sort of prevalent throughout sections of the
codebase:
If clearing the instruction cache for all 4 cores is necessary:
Core::System::GetInstance().ArmInterface(0).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(1).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(2).ClearInstructionCache();
Core::System::GetInstance().ArmInterface(3).ClearInstructionCache();
This is kind of... well, silly to copy around whenever it's needed.
especially when it can be reduced down to a single line.
This change also puts the basics in place to begin "ungrafting" all of the
forwarding member functions from the System class that are used to
access CPU state or invoke CPU-specific behavior. As such, this change
itself makes no changes to the direct external interface of System. This
will be covered by another changeset.
2018-11-22 04:28:19 -05:00
bunnei
e3278c0938
macro_interpreter: Implement AddWithCarry and SubtractWithBorrow.
...
- Used by Undertale.
2018-11-22 00:58:00 -05:00
bunnei
50d02961ac
audout_u: Add support for multiple IAudioOut streams.
...
- Used by Undertale.
2018-11-22 00:53:39 -05:00
bunnei
747d66b59e
maxwell_3d: Implement alternate blend equations.
...
- Used by Undertale.
2018-11-22 00:51:01 -05:00
Lioncash
4321487c2d
common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
...
This is inconsistent with our coding style.
2018-11-22 00:40:26 -05:00
bunnei
b2e747d7b4
Merge pull request #1737 from FernandoS27/layer-copy
...
Implemented Fast Layered Copy
2018-11-21 21:39:16 -08:00
bunnei
dbad7a8558
Merge pull request #1771 from lioncash/bit-set
...
common: Remove bit_set.h
2018-11-21 21:36:15 -08:00
bunnei
2d68a9b9fa
Merge pull request #1767 from lioncash/handle
...
kernel/handle_table: Minor changes
2018-11-21 21:26:48 -08:00
Lioncash
b86419c574
common/thread: Make Barrier's 'count' member non-const
...
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
2018-11-21 21:47:08 -05:00
Lioncash
92ac099702
common/thread: Initialize class member variables where applicable
...
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-21 21:45:01 -05:00
Lioncash
d1a5af5b2c
common/thread: Group non-member functions together
...
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
2018-11-21 21:42:33 -05:00
Lioncash
39c8ea3e88
common/thread: Remove SleepCurrentThread()
...
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
2018-11-21 21:40:11 -05:00
Lioncash
171cca777d
common/thread: Remove unused CurrentThreadId()
...
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
2018-11-21 21:37:11 -05:00
Lioncash
3bcdbe4289
common: Remove bit_set.h
...
This is an analog of BitSet from Dolphin that was introduced to allow
iterating over a set of bits. Given it's currently unused, and given
that std::bitset exists, we can remove this. If it's ever needed in the
future it can be brought back.
2018-11-21 21:30:10 -05:00
Zach Hilman
f4682d25fc
applets: Add StubApplet
...
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
2018-11-21 21:20:02 -05:00
ReinUsesLisp
81beb717ce
gl_shader_decompiler: Fix register overwriting on texture calls
2018-11-21 21:21:19 -03:00
Lioncash
8a37c234cc
kernel/handle_table: Move private static functions into the cpp file
...
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-21 18:31:01 -05:00
Lioncash
7b97b05825
kernel/handle_table: Restrict handle table size to 1024 entries
...
The previous handle table size is a holdover from Citra. The actual
handle table construct on Horizon only allows for a maximum of 1024
entries.
2018-11-21 18:28:03 -05:00
Lioncash
5356da70ad
kernel/handle_table: Default destructor in the cpp file
...
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-21 18:23:09 -05:00
bunnei
18cdd56494
Merge pull request #1753 from FernandoS27/ufbtype
...
Use default values for unknown framebuffer pixel format
2018-11-21 14:15:27 -08:00
bunnei
335dd7e6bd
Merge pull request #1752 from ReinUsesLisp/unimpl-decompiler
...
gl_shader_decompiler: Use UNIMPLEMENTED when applicable
2018-11-21 14:13:28 -08:00
FernandoS27
eb4c34a16b
Properly Implemented TXQ Instruction
2018-11-21 18:12:36 -04:00
bunnei
249cd123eb
Merge pull request #1742 from lioncash/hle-swkbd
...
am/applets: Minor cleanup
2018-11-21 11:43:43 -08:00
bunnei
0fff22b348
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
...
- Used by Undertale.
2018-11-21 11:43:25 -05:00
bunnei
875dbe6875
Merge pull request #1754 from ReinUsesLisp/zero-register
...
gl_shader_decompiler: Remove UNREACHABLE when setting RZ
2018-11-21 08:06:29 -08:00
bunnei
b8e3b46c8d
Merge pull request #1758 from lioncash/rect
...
common/math_util: Minor cleanup
2018-11-21 08:05:39 -08:00
bunnei
d7aa047840
Merge pull request #1759 from lioncash/unused
...
common: Remove depencency on xbyak
2018-11-21 08:05:14 -08:00
FernandoS27
edf3b40e45
Use default values for unknown framebuffer pixel format
2018-11-21 07:33:34 -04:00
Lioncash
d70078ad71
common: Remove dependency on xbyak
...
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
2018-11-21 03:43:41 -05:00
Lioncash
953b45d747
common/math_util: Simplify std::make_signed usages to std::make_signed_t
...
Gets rid of the need to use typename to access the ::type alias.
2018-11-21 02:08:18 -05:00
Lioncash
629c916510
common/math_util: Make Rectangle's constructors constexpr
...
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-21 02:08:18 -05:00
Lioncash
1ceb22dc8c
common/math_util: Remove unnecessary static from PI
...
const/constexpr variables have internal linkage by default.
2018-11-21 02:08:18 -05:00
Lioncash
c68168f367
common/math_util: Remove unused IntervalsIntersect() function
...
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
2018-11-21 02:08:15 -05:00
bunnei
135aa13fb7
Merge pull request #1751 from bunnei/color-mask-fix
...
maxwell_3d: Initialize rasterizer color mask registers as enabled.
2018-11-20 19:20:13 -08:00