Commit Graph

4450 Commits

Author SHA1 Message Date
James Benton
032e17d971 opengl: Fix missing braces for switch case. 2016-07-29 13:55:50 +01:00
James Benton
6dd57662a5 opengl: Assert on invalid border_color_type. 2016-07-29 13:23:56 +01:00
James Benton
d3288694f7 opengl: Add support for 1D texture uploads. 2016-07-29 13:23:36 +01:00
James Benton
43b9909ce9 glsl2: Implement VTX_FETCH for arbitary UBO reads. 2016-07-29 13:23:21 +01:00
James Benton
c6224340eb opengl: Specify uniform block maximum size. 2016-07-29 13:22:42 +01:00
James Benton
f2ec9fde1e opengl: Add signed BC4/BC5 formats. 2016-07-28 20:09:13 +01:00
James Benton
879b8a743c opengl: Fix getSurfaceBuffer always assuming FMT_32_FLOAT is a depth texture. 2016-07-28 15:09:12 +01:00
James Benton
c8eb206f36 opengl: Print framebuffer status when glCheckNamedFramebufferStatus fails. 2016-07-28 15:08:49 +01:00
James Benton
112739e890 opengl: Fix clear depth buffer checking the status of color frame buffer.
copy pasta 7/10 with rice.
2016-07-28 14:45:33 +01:00
James Benton
4fa7185808 gx2: Handle uninitialised pitch in GX2InitTextureRegs. 2016-07-28 14:42:30 +01:00
James Benton
03a3ac5c5c snd_core: Fix AXInit to verify that we are uninitialised. 2016-07-28 14:04:51 +01:00
James Benton
80d7049071 proc_ui: Add ProcUIStatus enum. 2016-07-28 13:52:15 +01:00
James Benton
d4d2fd1a34 gx2: Fix tiling apertures for mipmaps.
We can use same memory as the main image because a tiling aperture exists
for only one mip level at a time, also a mipmap will always fit into the
original image memory size.
2016-07-28 13:49:43 +01:00
James Benton
9411a00ec1 snd_core: Fix nextSampleAdpcm not updating prevSample. 2016-07-28 12:51:48 +01:00
James Benton
ea70d6bcc4 snd_core: Fix looping not updating prevSample from loopPrevSample. 2016-07-28 12:51:17 +01:00
James Benton
52016d4154 snd_core: Add a few more set voice offset functions. 2016-07-28 11:44:19 +01:00
James Benton
0c844fe212 coreinit: Make OSScreen font rendering more accurate wrt position & size.
Thanks to @shinyquagsire23.
2016-07-28 11:07:29 +01:00
Andrew Church
467d4d45da Implement basic sound output via SDL.
Sound is off by default (to avoid destroying speakers in case the
logic is incorrect for some case); pass the --sound option to enable.

Sound data can be dumped by setting the sound::dump_sounds option in
the configuration file to true.
2016-07-26 21:57:48 +09:00
Rozelette
78ee7418a4 Fixed another spot where FS are dumped 2016-07-25 22:11:10 -05:00
Rozelette
3638aa380a Fix dump of fetch shaders 2016-07-25 21:13:17 -05:00
James Benton
608598250f vpad: Remove duplicated VPADTouchData structure. 2016-07-25 22:58:34 +01:00
James Benton
81c4b366c3 coreinit: Add support for OSScreen API.
This is often used for homebrew and demos. I have not seen it used in a
commercial game yet.
2016-07-25 22:58:34 +01:00
James
5b69a821c1 Merge pull request #220 from Rozelette/play
Mask cb_shader_mask to select only the bits for the current export
2016-07-24 10:15:08 +01:00
Brett Lawson
ba41caef5b Track already-written vs-outputs and do not write them again. 2016-07-23 23:37:34 -07:00
Brett Lawson
57b435f712 Include fetch shader disassembly in vertex shader compile errors. 2016-07-23 23:37:33 -07:00
Brett Lawson
fdd6049c3a Allocate some memory as if we had real system libraries loaded.
This is required as some games test the amount of memory that
is available to determine if they are on a WiiU development
system or not.
2016-07-23 23:37:33 -07:00
Rozelette
e0ebb6efeb Mask cb_shader_mask to select only the bits for the current export 2016-07-23 18:31:57 -05:00
James Benton
cbe7f80652 glsl2: Fix masked exports. 2016-07-23 23:44:10 +01:00
James Benton
f71c1b6f8a glsl2: Change activeMask to be a 4 state value.
This is more similar to how the GPU works and helps us to correctly
implement loops!
2016-07-23 23:43:39 +01:00
Andrew Church
a9626ecfeb opengl: Tentative implementation of LOOP_START_DX10 and LOOP_END.
Also fixes BREAK and CONTINUE on ALU clauses and disassembly of
LOOP_START (which uses the CF_CONST field unconditionally).
2016-07-23 23:43:38 +01:00
James Benton
ab8ad3b5e1 common: Fix bitfield compilation on GCC.
GCC is a bit funny here, fmt::format must be taking a const T& which
ends up requiring a proper definition of MaxValue in a .cpp somewhere
so it can take address. So to get around that we use static_cast to
force an lvalue to be passed in instead.

Thanks gcc!
2016-07-23 20:52:41 +01:00
Brett Lawson
536490dca4 Merge pull request #216 from achurch/debugger-step-crash-fix
kernel: Skip normal interrupt processing for breakpoints.
2016-07-23 11:48:31 -07:00
Andrew Church
27c2ff300b kernel: Skip normal interrupt processing for breakpoints.
Breakpoints are not masked by OSDisableInterrupts(), so if a core was
stopped with interrupts disabled, the
cpu::this_core::interruptMask() == cpu::INTERRUPT_MASK assertion in
coreinit::internal::checkRunningThreadNoLock() would fail when the
core resumed.
2016-07-24 03:44:06 +09:00
James Benton
73b6a6e68d common: Print stacktrace when an assert is hit. 2016-07-23 16:00:17 +01:00
James Benton
f165adff7a common: Improve bitfield assert messages. 2016-07-23 15:59:50 +01:00
James Benton
94c4dc8de7 kernel: Remove fake product_code.
This lets the window title thing for decaf-sdl fall back to rpx name.
2016-07-23 14:54:00 +01:00
James Benton
dd948bb8a7 opengl: Add SRGB color buffer number type. 2016-07-23 14:54:00 +01:00
Andrew Church
a5be2faca9 jit: Fix error with GCC on Linux due to inline asm. 2016-07-23 20:50:29 +09:00
James Benton
7e459dffec coreinit: Fix MEMHeapAttribs bitfield. 2016-07-23 12:45:26 +01:00
James Benton
e2f2740ca4 coreinit: Add constants for memexpheap FreeTag and UsedTag. 2016-07-23 12:39:55 +01:00
James Benton
c4490926ba decaf: Add missing algorithm include. 2016-07-23 12:00:10 +01:00
James
2af4879e0d Merge pull request #185 from achurch/cube-insn-fix
opengl: Properly handle CUBE insns which write to multiple registers.
2016-07-23 11:57:58 +01:00
Andrew Church
2b4d658ebc cmake: Fix build failure with parallel build in fresh directory.
OpenGL code in libdecaf relies on the generated header glbinding_api.h,
so we need to ensure that glbinding is built first.
2016-07-23 13:15:47 +09:00
Andrew Church
e20de2086c opengl: Properly handle CUBE insns which write to multiple registers. 2016-07-23 10:11:26 +09:00
Andrew Church
e285c3c5e7 interpreter: Work around a stupid LLVM bug.
LLVM miscompiles code which checks floating-point exceptions because it
doesn't know about them (http://llvm.org/bugs/show_bug.cgi?id=6050).
This affects the ps_sum1 implementation, so work around it by disabling
optimization for that function when building with Clang.
2016-07-23 09:48:42 +09:00
James Benton
9a8648e792 kernel: Fix non-const rvalue references 2016-07-23 00:35:36 +01:00
James Benton
65e6bded14 decaf-sdl: Update window title with game name. 2016-07-22 22:26:12 +01:00
James Benton
1ee77f4336 libdecaf: Add libdecaf events.
These allow us to do callbacks back to UI when interesting events happen.
For now we just have the onGameLoaded event.
2016-07-22 22:26:12 +01:00
James Benton
ed774960e9 Fix some compile warnings. 2016-07-22 22:26:12 +01:00
James Benton
1b83c90eb2 Load game info from cos.xml, app.xml, meta.xml 2016-07-22 22:26:12 +01:00