Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
e8587a44b1 Don't use arrays for uniform buffers, and map pixel uniforms to binding 16+. 2016-06-21 14:12:28 -07:00
Brett Lawson
ab06b17ffe Don't endian swap uniform buffers as GX2 API already requires this. 2016-06-21 14:12:28 -07:00
Brett Lawson
a1bbe26756 Implement stubby snd_core user/voice protection locking. 2016-06-21 14:12:27 -07:00
Brett Lawson
1b95a3d4f2 Remove superfluous texture parameter settings. 2016-06-21 14:12:27 -07:00
Brett Lawson
ca1f84a8be Return the correct error code from async filesystem functions. 2016-06-21 14:12:26 -07:00
Brett Lawson
464c15607f Fix some asserts to be emuasserts instead. 2016-06-21 14:12:26 -07:00
Brett Lawson
b95da47640 Added AXUserIsProtected and fixed error with FrameCallback registration. 2016-06-21 14:12:26 -07:00
Brett Lawson
2247cfc64a Update AX to support invoking user frame callbacks. 2016-06-21 14:12:25 -07:00
Brett Lawson
b0f125e2fd Fix bug in ppcinvoke for argumentless functions. 2016-06-21 14:12:25 -07:00
Brett Lawson
8492f5de1d Increase JIT maximum instruction count.
Some games were actually bumping into this due to massive
unrolled loops.
2016-06-21 14:12:24 -07:00
Brett Lawson
b8aee15c6c Fixed JIT Fallback instruction view to work properly. 2016-06-21 14:12:24 -07:00
Brett Lawson
e42f401588 Added compile-time option for tracing super-common functions. 2016-06-20 23:58:53 -07:00
Brett Lawson
f7f3584757 Fixed GX2 dumping to use the new configuration handling. 2016-06-20 23:58:35 -07:00
Brett Lawson
4cd02db1e6 Added JIT fallback statistics to on-screen debugger. 2016-06-20 04:41:15 -07:00
Brett Lawson
525443c4d0 Implemented GX2RSetAttributeBuffer within GX2 module. 2016-06-20 02:19:30 -07:00
Brett Lawson
604f1cfc30 Use a mutex to guarentee thread-safe reservations.
Previously, reservations were not atomically handled, PPC does
not require that the reservation address match the storage
address, this means a compare_and_exchange is not possible.
We have reverted to using a lock for this case.  Note that the
AtomicityLock class is templated to remove all locking overhead
from non-atomic instructions in spite of using a generic
function to handle most load and store operations.
2016-06-20 01:28:59 -07:00
Brett Lawson
a64975c327 Properly handle GHS exception setup function pointer. 2016-06-19 04:49:48 -07:00
Brett Lawson
92a7b61e11 Added support for branch tracing. 2016-06-19 04:49:47 -07:00
Brett Lawson
fac14338f1 Added global symbol table to loader.
This is used by branch tracing as well as the debugger
to identify symbols at particular addresses.
2016-06-19 04:49:47 -07:00
Brett Lawson
14cc257cf7 Fixed access violation handler from crashing on Windows. 2016-06-19 04:49:46 -07:00
Brett Lawson
f076c816c1 Ensure that all loaded sections are recorded.
Previously, only PROGBITS sections were actually
included in the list of active sections.
2016-06-19 04:49:46 -07:00
Brett Lawson
46705edd8d Update RPL loader to load ALL symbols from RPL.
This is needed to load debug symbols from games which
contain them for the debugger and branch tracer.
2016-06-19 04:49:46 -07:00
Brett Lawson
8ae146cfd1 Move Fiber* from OSThread to OSContext. 2016-06-19 04:49:45 -07:00
Brett Lawson
20e655c17d Make threads inherit their parent affinity if not set. 2016-06-19 04:25:21 -07:00
Brett Lawson
dfd7b24e63 Force ColorBuffer and DepthBuffer to preset values.
This is how it was in the past and resolves some frustrating
problems that were occuring due to our imperfect handling
of determining GL type from surface type.
2016-06-19 04:25:21 -07:00
Brett Lawson
ce64a7523c Use proper DEPTH_COMPONENT for depth buffer texture types. 2016-06-19 04:25:21 -07:00
Brett Lawson
5b5a97de8f Remove unused JIT log spam... 2016-06-19 04:25:20 -07:00
Brett Lawson
4bcc364706 Kernel tracing should be off by default if not in config. 2016-06-19 04:02:06 -07:00
Brett Lawson
4012dc9c58 Corrected issue causing RTT to be inverted on the Y-axis. 2016-06-18 21:48:10 -07:00
James Benton
79c1b824b5 opengl: Fix reuse of same attrib buffer address. 2016-06-18 12:13:13 +01:00
James Benton
a43f88d251 opengl: Reorder includes to prevent collision with WINAPI in glbinding. 2016-06-18 12:13:13 +01:00
Brett Lawson
168103c640 Fix bug causing "gpu force sync" to always be enabled. 2016-06-18 03:49:02 -07:00
Brett Lawson
e9b296c780 Fix incorrect handling of depth buffer surface data. 2016-06-18 03:49:02 -07:00
Brett Lawson
39ae129ac1 Implemented common surface textures in GPU.
Previously our color buffers, depth buffers and textures were
all loaded individually through separate maps from ppc to host.
This meant that games doing RTT would not render correctly.
2016-06-18 03:04:22 -07:00
Brett Lawson
23b9d67ec9 Fix bug with default values assigned to fs_out shader variables.
This cause some games to start rendering!
2016-06-17 23:27:08 -07:00
Brett Lawson
1b263f0f94 Added option gpu::force_sync which forces emulator to run in step with GPU.
This option causes the GPU Driver to block inside of getSwapBuffers
until the game actually performs a SwapBuffer.  This is neccessary to
enable the use of effective Nsight debugging.
2016-06-17 23:26:45 -07:00
Brett Lawson
e8817166a7 Fix bug where swap buffers are rendered before they are set up. 2016-06-17 23:19:37 -07:00
Brett Lawson
05fcd09553 Added stub implementations for snd_core voices. 2016-06-17 23:06:47 -07:00
James Benton
4b37a1a9c7 gx2: Remove trailing spaces from gx2_display. 2016-06-17 23:16:31 +01:00
James Benton
9634144913 gx2: Fix display lists overwriting active buffer. 2016-06-17 23:16:31 +01:00
Brett Lawson
1a81838f82 Added code to invoke debugger when an access violation occurs. 2016-06-17 06:34:44 -07:00
Brett Lawson
7548900d20 Added support for viewing registers of paused threads in debugger. 2016-06-17 06:31:02 -07:00
Brett Lawson
27dbf67307 Added information about branch targets based on analysis data. 2016-06-17 12:57:33 -07:00
Brett Lawson
0bf63d40d5 Fix GCC warnings in debugger_analysis.cpp 2016-06-17 12:56:31 -07:00
Brett Lawson
8ecc9b2f6e Fix OFFSET warnings for GCC builds. 2016-06-17 04:11:11 -07:00
Brett Lawson
e039c9ee47 Fix linux GCC builds. 2016-06-17 03:44:39 -07:00
Brett Lawson
961b3d3e16 Added missing string in analyser.cpp for gcc builds. 2016-06-16 03:25:48 -07:00
Brett Lawson
c1504ec926 Fix slash error on debugger_analysis.cpp 2016-06-16 03:11:37 -07:00
Brett Lawson
075fca40ab Improved thread view to show priority/affinity/coretime. 2016-06-16 02:59:23 -07:00
Brett Lawson
387453b389 Added tracking of per-thread core time. 2016-06-16 02:59:18 -07:00