Commit graph

198 commits

Author SHA1 Message Date
James Benton
5f6beb8eac latte-assembler: Clean up duplicated Gpr in grammar. 2017-05-11 00:32:15 +01:00
James Benton
fe96739b02 latte-assembler: Clean up exceptions. 2017-05-11 00:32:04 +01:00
James Benton
7c8466cc19 tools: Add a latte assembler.
First pass, a good start but could do with some improvements!
2017-05-10 18:06:03 +01:00
James Benton
34901fb792 tools: Add pm4-replay-qt.
Basic skeleton app now, let's see if we can iterate on this until we have
something useful?
2017-05-02 22:28:20 +01:00
James Benton
46d99e699c cmake: Only build pm4-replay with DECAF_GL.
Only the OpenGL backend is supported for now.
2017-05-02 22:28:20 +01:00
James Benton
600df0c6b4 cmake: Fix DECAF_SDL option to actually toggle building of SDL applications.
Also add DECAF_QT option for future use ;).
2017-05-02 22:28:20 +01:00
James Benton
e7e8aa42bd tools: Add wiiu-rpc tool client & server. 2017-05-02 22:28:20 +01:00
James Benton
6fff350f43 cmake: Specify render backend using DECAF_GL option.
Also changed define DECAF_NOGL to DECAF_GL.
Added skeleton code for Vulkan backend and driver.
2017-05-02 22:28:20 +01:00
James Benton
f0ae3f4039 Rewrite gfd reading / writing and move it to libgfd. 2017-04-25 23:34:10 +01:00
James Benton
a364565f8b Move to a .toml config file and try to unify config loading.
Still not an ideal solution, but it's at least a step in the right direction.
2017-04-24 23:32:00 +01:00
James Benton
d67a59f6e4 Refactor GPU code out of libdecaf/gpu and in to libgpu. 2017-04-24 17:22:10 +01:00
James Benton
b6e752531d cmake: Add CMake build support for CPU & HLE tests. 2017-04-21 14:16:16 +01:00
James Benton
3c3646147f New virtual memory implementation. 2017-04-21 00:19:39 +01:00
Peter Mackay
61e22d9aa8 Remove macOS dependency on OpenGL. 2017-04-16 10:15:03 +01:00
Peter Mackay
268732e046 Looks like the bug was duplicated elsewhere.
Apologies for not catching it in the other commit.
2017-04-14 15:30:22 +01:00
Andrew Church
62020bb36c Only enable the glbinding command callback when debugging.
Enabling the callback introduces significant overhead; I've observed
slowdown of up to 35% in GPU-bound code, with the GPU thread spending
over 15% of its time just in malloc() and free() calls from glbinding.
2017-04-05 05:51:06 +09:00
James Benton
9b26b69c9a Add breakpoint support to JIT. 2017-04-03 22:58:49 +01:00
James Benton
4c2049bf47 New JIT implementation using libbinrec. 2017-04-01 17:04:30 +01:00
James Benton
f0f9f45fb3 Fix hardware-test build. 2017-03-27 23:19:12 +01:00
James Benton
a890721718 cmake: Cleanup install. 2017-03-16 13:27:19 +00:00
Andrew Church
83e1c6be02 hwtest-achurch: Fix Linux build error. 2017-03-02 01:20:40 +09:00
James Benton
94b97d79ef Remove types.h and virtual_ptr.h 2017-03-01 13:43:16 +00:00
James Benton
f114c98f99 Update spdlog to v0.12.0 2017-02-21 11:41:31 +00:00
James Benton
4646c4190e Update gsl-lite 2017-02-21 11:41:31 +00:00
James Benton
2edad665a3 Use CMake to build for Windows. 2017-02-20 19:25:39 +00:00
Andrew Church
5fff296aaa Remove execute permissions from source files. 2016-12-14 18:11:38 +09:00
James Benton
5b3c7006dc gfd-tool: Update to use new gfd::Reader.
This means we can now print all the pointed-to data, such as attribVars,
samplerVars, uniformVars, etc.
2016-10-02 12:27:55 +01:00
James Benton
d94502d600 gfdtool: Disable broken texture conversion.
This needs fixing... TODO!
2016-10-02 12:27:46 +01:00
James Benton
20b8ee01f3 pm4-replay: Explicitly use gsl::as_span for pm4 packets.
Fixes compile error on gcc.
2016-09-13 22:58:05 +01:00
James Benton
f0edddf15b pm4-replay: Fix incorrect parameter order for file seek. 2016-09-13 22:57:40 +01:00
James Benton
92a5b60381 cmake: Add pm4-replay CMakeLists. 2016-09-13 22:57:13 +01:00
Brett Lawson
d871756e66 Fix some things that were missed in the last commit.
There were some crazy changes to the debugger::ui drawing
code that I hadn't noticed.  I fixed them and then added
the blank DX12 drawer as I did with the rest of the draw
components.
2016-09-06 01:20:09 -07:00
Brett Lawson
e2b1d17831 Refactor decafsdl and libdecaf to support new backends.
Note that this refactor also includes a blank setup
for DX12 support.
2016-09-06 00:45:28 -07:00
James Benton
34cd5982da decaf: Rewrite filesystem.
Adds support for writing files to host file system.
Adds file permissions to prevent corruption of game files.
2016-09-02 01:34:22 +01:00
James Benton
a5e9d5a959 Move pm4-replay to tools folder. 2016-08-31 22:55:23 +01:00
Brett Lawson
9ae08f3e40 Implement a circular buffer to handle command buffer pool.
This more closely mimics the behaviour present in GX2.  Note that
we currently require a lock to handle the pool itself, though in
the future, we may be able to implement a lock-free queue which
is used by the GPU to store `completed` buffers in, which can
later be picked up by GX2 when it tries to do an allocation. This
commit also cleans up a few things that were wierd about our
display list implementation.
2016-08-14 03:55:50 -07:00
James Benton
d92925d662 common: Improve bitfield syntax.
- bitfield.field() instead of .field().get()
- bitfield.field(x) instead of .field().set(x)
2016-08-04 16:07:21 +01:00
James Benton
6cf9ece11d Fix some type conversion issues brought up by static analysis. 2016-08-03 11:49:41 +01:00
James Benton
ec66df5284 Fix gfdtool build. 2016-07-31 21:31:30 +01:00
Brett Lawson
c3d66d983e Updated hwtest-achurch to test paired singles. 2016-07-15 18:04:37 -07:00
James Benton
9e677c6b37 Update fuzztests and hardwaretests to use MEM2Base. 2016-07-14 11:09:14 +01:00
Brett Lawson
0e5da8c9ce Added achurch's hardware testing system to help testing. 2016-07-10 13:49:26 -07:00
James Benton
8514a99944 Improve error messages by introducing decaf_assert.h 2016-07-10 01:38:42 +01:00
Brett Lawson
94f6ac2715 Updated hardware tests to ignore FMADD/FMSUB.
We are already aware that these instructions do not return
perfectly accurate results.  It does not make sense to
intentionally cause these tests to fail.
2016-07-08 01:25:15 -07:00
Brett Lawson
37d803144d Fix hardware tests to work properly with the JIT.
This was broken a few refactors ago and was not fixed.
2016-07-08 01:25:11 -07:00
James Benton
ac7dab4085 gx2: Move to use common enum macros. 2016-07-05 19:26:28 +01:00
James Benton
9c1b0eeba2 New simpler shader decompiler.
The previous shader decompiler tried to be very clever in reversing control flow,
that was a bit unreliable as it made a few assumptions which turned out to not
always be true. I believe in the future we could still write a proper decompiler
which correctly reverses control flow by inspecting the stack, but for now let's
keep it very simple and use a basic bitch decompiler which uses an actual shader
stack similar to how the GPU itself works.
2016-07-03 21:46:48 +01:00
James Benton
f5abc2367b Fix tools builds. 2016-06-14 01:17:31 +01:00
James Benton
b98426d6dd Fix hardware-tests build 2016-06-12 15:35:31 +01:00
James Benton
a3e0b87f58 Add missing include 2016-06-12 01:58:59 +01:00