Commit Graph

4450 Commits

Author SHA1 Message Date
Brett Lawson
6e2f7a5407 Implemented stub for GX2ExpandDepthBuffer.
It currently does nothing as we do not have HiZ support!
2016-08-10 21:45:15 -07:00
Brett Lawson
c3e7f59551 Added support for OpenGL debug context and message printing. 2016-08-10 21:45:10 -07:00
Brett Lawson
189ea5b6b1 Fix bug where force_sync did not call initialiseContext. 2016-08-10 21:45:04 -07:00
Brett Lawson
519ef8ca0f Fix bug where FMT_2_10_10_10 was not reversing its components. 2016-08-10 21:43:21 -07:00
Brett Lawson
bc5f81e4fe Update PS input cntl to properly handle negatives.
It appears that a PS input that is a negative number indicates
that the VS may output that parameter, but it is not used by
the pixel shader.
2016-08-10 11:10:28 -07:00
Brett Lawson
27c0bb2f09 Implement GLSL attribute decoding and attrib buffer invalidation.
This commit updates attribute decoding to occur entirely within the
vertex shader in GLSL.  This allows us the flexibility to support
various formats which GL does not, but latte does.  The other major
benefit is that we are able to perform trivial state-tracking of
attribute buffers and avoid swapping and uploading large buffers
when they have not actually changed.
2016-08-10 11:10:28 -07:00
Brett Lawson
b1d633e1cb Implement invalidation of uniform buffers.
This commit also switches uniform buffers to using DSA.
2016-08-10 11:10:28 -07:00
James Benton
e0a2cc4aa2 Remove left-over pragma optimize. 2016-08-10 01:33:43 +01:00
James Benton
b97087e4b3 filesystem: Fix not simplifying multiple trailing path seperators
e.g.
/vol/save/1// should have been simplified to /vol/save/1/
2016-08-10 01:30:34 +01:00
James Benton
ef0261af01 coreinit: Implement block heap.
This is not thoroughly tested yet...!
2016-08-10 01:30:26 +01:00
James Benton
92c16bf5db coreinit: Fix warning about implicit size_t conversion to int. 2016-08-10 15:19:51 +01:00
James Benton
41af6511b9 decaf: Add missing "typename ..." 2016-08-10 15:19:51 +01:00
Andrew Church
babfa606b6 opengl: Ensure writes are not masked when clearing buffers. 2016-08-10 22:47:14 +09:00
James Benton
2a026ed1b5 gx2: Implement GX2DebugTagUserString{VA} 2016-08-09 23:45:48 +01:00
James Benton
fad4c7dd71 Add support for va_list and rework variadic functions to use it. 2016-08-09 23:45:43 +01:00
James Benton
492fd76269 gx2: Move GX2DebugDumpXXX to internal namespace. 2016-08-09 23:45:37 +01:00
Brett Lawson
14f0221290 Fix build errors from missing include and GCC being retarted. 2016-08-09 13:28:10 -07:00
Brett Lawson
f59ac38f2c Minor optimization to stridedMemcpy implementation. 2016-08-09 13:28:10 -07:00
James
634354d3f4 Merge pull request #260 from achurch/vs-int-inputs
opengl: Fix handling of integer vertex attributes.
2016-08-09 21:27:26 +01:00
Andrew Church
9435fbddca opengl: Fix handling of integer vertex attributes. 2016-08-10 05:07:21 +09:00
Brett Lawson
1fc52e5a94 Implement divw/divwu instructions in JIT. 2016-08-09 12:41:41 -07:00
Brett Lawson
b61b72d005 Implement integer divison in JIT. 2016-08-09 12:41:41 -07:00
Brett Lawson
ced952c700 Implement JIT version of fsel instruction. 2016-08-09 12:41:41 -07:00
Brett Lawson
fa55fa5b19 Implement JIT versions of lwarx and stwcx. 2016-08-09 12:41:40 -07:00
Brett Lawson
7ced5e5696 Implement lwarx/stwsx using atomics instead of a global lock. 2016-08-09 12:41:40 -07:00
Brett Lawson
4257bcacb5 Implement JIT version of data-cache instructions. 2016-08-09 12:41:40 -07:00
Brett Lawson
0a86dfe982 Reduce the number of context switches when force_sync=true. 2016-08-09 12:41:40 -07:00
Brett Lawson
1566e49633 Handle SDL events when no PM4 buffers and force_sync on.
In the past, the syncPoll function would block which would
cause the SDL loop to block waiting for PM4 commands to
execute.  This commit corrects that behaviour so that there
is no block that occurs during syncPoll.
2016-08-09 12:41:40 -07:00
Brett Lawson
770ddc6915 Remove accidentally included pragma optimize. 2016-08-09 12:41:40 -07:00
Brett Lawson
713dec74af Implement optimized version of addrlib pixel transfers. 2016-08-09 12:41:40 -07:00
Brett Lawson
c226304938 Rename 'depth' to 'slice' in surface functions.
This was confusing before.
2016-08-09 12:41:39 -07:00
Andrew Church
8b55a637c6 opengl: Fix backwards copy and wrong source offset for XFB reads. 2016-08-10 02:44:57 +09:00
Andrew Church
0bf8cd5891 opengl: Fix wrong stride on transform feedback buffer offset update. 2016-08-10 02:44:42 +09:00
Andrew Church
70f50b62ed opengl: Write transform feedback declarations after translation.
This allows us to properly include the streamout buffer stride in the
output declaration.

Also add a named constant for the number of streamout buffers.
2016-08-10 00:50:09 +09:00
James Benton
29d6797231 Update spdlog. 2016-08-09 14:16:50 +01:00
James Benton
a239eae56c Update to glbinding v2.1.1 2016-08-09 13:47:25 +01:00
James Benton
f3938d2eac gx2: Add missing clamp for ANISO_BIAS in GX2InitSamplerLODAdjust. 2016-08-09 13:30:27 +01:00
James Benton
c0270b32a1 opengl: Implement sampler LOD values. 2016-08-09 13:27:11 +01:00
James Benton
16b241ddc0 opengl: Use fixed_point classes for sampler MIN_LOD, MAX_LOD and LOD_BIAS. 2016-08-09 13:27:10 +01:00
James Benton
893aa29335 bitfield: Add support for fixed_point values in bitfields. 2016-08-09 13:27:10 +01:00
Andrew Church
77ca57e8df opengl: Fix misleading error message and inconsistent capitalization. 2016-08-09 21:07:00 +09:00
James Benton
3df0a8bc88 opengl: Fix bool -> int implicit cast. 2016-08-09 12:42:25 +01:00
James Benton
b4c767c7b6 decaf-sdl: Fix implicit int -> float conversion warnings 2016-08-09 12:41:00 +01:00
James Benton
e3aa2dc58b gpu: Add VGT_EVENT_TYPE prefix to enum values. 2016-08-09 12:41:00 +01:00
James Benton
f1d5b26b4d opengl: Fix implicit int -> bool conversion warnings. 2016-08-09 12:40:59 +01:00
Andrew Church
8c09b7c481 Implement GX2Query{Begin,End} and the OpenGL side of occlusion queries. 2016-08-09 12:40:53 +01:00
Andrew Church
c62d053ff7 opengl: Dump translated shader code in addition to raw disassembly. 2016-08-09 20:18:43 +09:00
James Benton
8725043f31 gx2: Zero initialise ADDR_COMPUTE_SURFACE_INFO_OUTPUT in getSurfaceInfo. 2016-08-09 12:18:00 +01:00
Andrew Church
1172b6563b opengl: Handle color buffer write masking with CB_SPECIAL_DISABLE.
Fixes the 4th argument to GX2SetColorControl() having no effect.
2016-08-09 19:55:57 +09:00
James
3a4220a643 Merge pull request #254 from degasus/master
decaf-sdl: Rewrite emulated screen position.
2016-08-08 15:17:21 +01:00