Henrik Rydgard
129c706cfc
Just some work on the shader generators
2016-03-20 19:26:12 +01:00
Henrik Rydgard
73d6d2dc72
More vulkan in thin3d
2016-03-20 19:25:53 +01:00
Henrik Rydgard
2a449f78bb
More vulkan fixing
2016-03-20 19:25:30 +01:00
Henrik Rydgard
c64064024d
Initial vulkan code.
...
This was squashed from nine commits but using old versions of Vulkan.
2016-03-20 19:18:35 +01:00
Henrik Rydgård
54a37f9bb8
Merge pull request #8591 from unknownbrackets/thin3d
...
Use thin3d for softgpu drawing (+thin3d improvements)
2016-03-20 18:06:53 +01:00
Henrik Rydgard
4c0e6d0138
Some renaming, fixes and tweaks to the gl_lost mechanism, which is again needed
2016-03-17 21:30:16 +01:00
Henrik Rydgard
c8457d39ed
Fix a bunch of compiler warnings, delete some unused code
2016-03-13 15:17:31 +01:00
Unknown W. Brackets
944a1f380b
Disable alpha test optimization with logic ops.
...
We still need to discard the pixels in the case of a logic op, like
invert. Otherwise we will invert the blended pixels too.
See #8632 .
2016-03-12 09:27:18 -08:00
Henrik Rydgard
58b07e00d7
Assorted fixes and cleanups.
2016-03-06 11:46:41 -08:00
Henrik Rydgard
9d8d810395
Clear detection: Don't need to check the even vertices, as the odd vertices are the ones used for color.
...
This lets us detect and replace cube.elf's clear, and probably others.
2016-03-06 11:36:32 -08:00
Henrik Rydgard
d67b148712
Add math dataconv funcs for packed values.
2016-03-06 11:33:53 -08:00
Unknown W. Brackets
6b9b00aa16
Assume DUALSOURCE replace alpha means supported.
...
We already check supports when generating this value, don't need to check
again when using it.
2016-03-05 17:18:04 -08:00
Unknown W. Brackets
212848c1cc
Explicitly enable dual source blending in shader.
...
Without this, the shader fails to compile on SHIELD devices with
up-to-date drivers. It may have also been failing on other devices.
The specification notes that the #extension line must be used.
2016-03-05 13:27:27 -08:00
Unknown W. Brackets
7dfe8b58dc
Clear attrMask on bad shader compile.
...
This prevents various crashes when incorrect attributes are enabled.
2016-03-05 13:14:25 -08:00
Unknown W. Brackets
505ff99461
Maintain and use a freelist for buffer objects.
...
Only for sized buffers, which are the ones we gain something from reusing.
2016-02-28 15:10:41 -08:00
Henrik Rydgard
5f761c346b
Attempt workaround for #8610
2016-02-28 11:06:49 +01:00
Unknown W. Brackets
818a0d846a
d3d9: Correct for half-pixel offset in softgpu.
2016-02-13 14:52:35 -08:00
Unknown W. Brackets
f84ebdc3e4
thin3d: Use floats directly for 4x4 matrices.
2016-02-13 14:50:06 -08:00
Unknown W. Brackets
05fee24ccf
thin3d: Add sampler state selection.
2016-02-13 14:03:43 -08:00
Unknown W. Brackets
0d68a172a9
softgpu: Draw using thin3d.
...
This way it ought to work for all backends.
2016-02-13 14:03:37 -08:00
Unknown W. Brackets
b33e39788f
d3d9: Use thin3d for reporting info.
2016-02-13 10:53:28 -08:00
Unknown W. Brackets
095624867a
d3d9: Enable GPU info in D3D9 reporting.
2016-02-13 09:51:09 -08:00
Unknown W. Brackets
346e98046d
Forgot to remove this report, not needed now.
2016-02-13 09:31:03 -08:00
Unknown W. Brackets
5894431fa0
Correct buffer size for offset download.
...
We need h, not h - y. Should be #7819 .
2016-02-11 22:30:44 -08:00
Henrik Rydgard
5bfeafc037
PackFramebufferSync_: Check for bad parameters that could cause crash
...
My theory for the #7819 crash
2016-02-11 22:10:54 +01:00
Unknown W. Brackets
271829c991
Consider depth blitting a slow framebuffer effect.
2016-02-10 21:02:19 -08:00
Henrik Rydgard
35b6c7341b
Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
...
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
Unknown W. Brackets
8b51bc5b0b
Fix debugging and depth packing with old depth.
...
Which means, OpenGL in general right now.
2016-02-07 22:42:47 -08:00
Unknown W. Brackets
eab0278af4
Fallback to per-vertex depth rounding on GLES2.
...
Instead of not-working 24->16 now that it's disabled.
2016-02-06 20:42:01 -08:00
Unknown W. Brackets
0e85225e29
Bring back the depth range hack.
2016-02-06 20:28:45 -08:00
Unknown W. Brackets
f1c06d25ea
Switch to old-style depth in OpenGL.
...
Some devices really aren't handling the new method well. There seem to be
accuracy problems when specifying the values to OpenGL.
2016-02-06 20:21:14 -08:00
Unknown W. Brackets
87b75235e7
Improve depth accuracy a bit in 16-bit slice mode.
2016-02-06 20:02:18 -08:00
Victor Xie
dc32805256
Made commit 0920f6c a little more robust.
...
Eliminated division-by-zero when depth range is zero.
2016-02-01 13:17:15 +08:00
Unknown W. Brackets
4ff78d3c55
d3d9: Use SSE at least for depth copies.
2016-01-31 09:00:00 -08:00
Unknown W. Brackets
623448f852
d3d9: Support blitting depth on frame switch.
...
Can be optimized more, but this makes Jeanne d'Arc work in D3D9 now. Not
sure why it didn't work before.
2016-01-30 23:47:51 -08:00
Henrik Rydgård
3be90586b1
Merge pull request #8486 from unknownbrackets/gpu-clut
...
Ignored rendered CLUTs that are in the margins
2016-01-23 18:07:53 +01:00
Unknown W. Brackets
c593b7cdfd
Ignored rendered CLUTs that are in the margins.
...
Fixes issues with Ridge Racer on some mobile devices.
2016-01-23 09:02:30 -08:00
Henrik Rydgard
82ed16fbfd
Make sure we detect ES 3.0 the same way in both vertex and fragment shaders
2016-01-23 16:57:24 +01:00
Unknown W. Brackets
e30ab95179
d3d9: Fix maxSeenV when not known.
...
And just make the code reused between both. Fixes #8478 .
2016-01-22 18:48:54 -08:00
Unknown W. Brackets
e964e15ed3
Correct savestate of running GE list.
...
Fixes #8459 .
2016-01-21 22:14:47 -08:00
Henrik Rydgård
cd35684a46
Merge pull request #8454 from unknownbrackets/gpu-depth-round
...
Add pixel depth rounding to d3d9, gles2 and support forcing via config
2016-01-21 09:41:26 +01:00
Henrik Rydgård
24cad4cab5
Merge pull request #8468 from unknownbrackets/minor
...
Add a small assert and some warning fixes
2016-01-21 09:40:32 +01:00
Unknown W. Brackets
9354e253bd
Fix some warnings in shader cache read.
...
In case something gets truncated.
2016-01-21 00:24:45 -08:00
Unknown W. Brackets
597596884e
Add a smart C FILE * helper.
...
When all you want is for it to close by itself on error.
2016-01-20 23:33:56 -08:00
Unknown W. Brackets
79792a3c38
d3d9: Account for half-pixel z offset.
2016-01-20 22:53:47 -08:00
Unknown W. Brackets
0443fbebd0
Add methods to download depth to PSP RAM.
2016-01-20 22:11:03 -08:00
Unknown W. Brackets
2916298695
gedbg: Add scaled 16-bit z support.
2016-01-20 22:11:02 -08:00
Unknown W. Brackets
f9970dba94
d3d9: Respect per-pixel depth rounding.
...
Using the 16-bit depth range.
2016-01-20 22:11:01 -08:00
Unknown W. Brackets
27dba51e70
Add fallbacks where low quality depth is required.
...
Even on GLES2, this should work. Also check the depth before applying
rounding - we might even already be 24-bit.
2016-01-20 22:11:01 -08:00
Unknown W. Brackets
79750ed1ad
Add a config setting to control depth quality.
...
For those who want 1x PSP like behavior.
2016-01-20 22:11:00 -08:00