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