Unknown W. Brackets
0e85225e29
Bring back the depth range hack.
2016-02-06 20:28:45 -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
Unknown W. Brackets
b80c02c272
Simulate depth clamping.
...
We'll allow extra space in both directions. It's not exactly right, but
it's a fast approximation.
2016-01-19 07:12:58 -08:00
Unknown W. Brackets
6d6c415f2b
Merge pull request #8443 from hrydgard/pseudo-shader-cache-gl-2
...
GL shader disk cache .. kind of
2016-01-17 14:28:05 -08:00
Henrik Rydgard
b39206f922
Use the app cache directory on Android for the shader cache.
2016-01-17 22:15:23 +01:00
Unknown W. Brackets
b40c3fd839
Use video format when uploading to framebuffers.
...
Expected to help Bounty Hound, #8392 .
2016-01-17 12:57:27 -08:00
Unknown W. Brackets
f60aef2e16
Add a more specific interface for video frames.
...
Since we know more about them. No functional change yet.
2016-01-17 12:57:26 -08:00
Henrik Rydgard
e92beb619c
Disable the shader cache for homebrew and other things that lack disc_id
2016-01-17 21:35:46 +01:00
Henrik Rydgard
b246442374
Hook up GL shader cache. Cache linked shader programs.
2016-01-17 20:44:51 +01:00
Henrik Rydgard
c8b1064d20
GL Cleanup: No longer redundantly store the shader ID inside the shader objects
2016-01-17 20:33:14 +01:00
Henrik Rydgard
7e24801fc1
Specify which games need vertex depth rounding instead of which ones don't.
...
Vertex depth rounding is a not-fully-accurate hack, and most games are better off with the extra depth precision
of 24-bit Z than reducing it to a not-fully-accurate 16-bit. So let's only use it where necessary, like in Phantasy Star.
See issue #8187 .
2016-01-16 11:31:27 +01:00
Unknown W. Brackets
c6ffed6484
gedbg: Add mechanics to grab CLUT buffer.
2016-01-10 09:25:19 -08:00
Henrik Rydgård
f0812297a6
Merge pull request #8376 from unknownbrackets/gpu-depth
...
Correct universally for clamped depth range
2016-01-04 09:55:02 +01:00
Unknown W. Brackets
e427d09628
Determine scaleFactor once per frame.
...
This way, for auto, we can properly treat it like scaleFactor = 1 when the
resolution is small.
2016-01-03 23:06:15 -08:00
Unknown W. Brackets
18cdf9f352
Remove the depth range hack.
...
Ths removes the game-specific hack to workaround depth issues.
2016-01-03 12:05:59 -08:00
Henrik Rydgard
15de6e6b98
GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
...
Needed to prevent clutter all over the codebase.
Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Unknown W. Brackets
675efe99b3
Use the new way for GL_EXTENSIONS in reporting too.
2015-12-28 14:13:23 -08:00
Unknown W. Brackets
27ad8185e3
Add flag for core GL contexts.
...
Since using VBOs all the time is slower.
2015-12-19 09:18:35 -08:00
Unknown W. Brackets
164594b044
Use a VAO for all drawing, and VBOs throughout.
2015-12-19 09:18:34 -08:00
Unknown W. Brackets
fbc4b4e7a1
Use glCopyImageSubData() when it's available.
...
There's 4 different extensions providing this functionality. NV is
supported on desktop and mobile, EXT/OES on mobile, and ARB on desktop.
Mostly these are only supported by desktop cards and NVIDIA mobile.
Good improvement in performance on NVIDIA when blit is called a lot, since
it doesn't need to rebind anything or change state. Example is in desert
city in Tales of Phantasia.
2015-12-06 10:39:21 -08:00
Unknown W. Brackets
1fb271a607
Enable EXT_blend_func_extended.
...
Not really tested.
2015-11-27 16:01:25 -08:00
Henrik Rydgård
563ad0fa10
Merge pull request #8219 from unknownbrackets/gpu-logicop
...
Make logic ops flush on GLES
2015-11-16 01:21:43 +01:00
Unknown W. Brackets
7e71bd653f
Allow logic ops in GLES.
...
We have a backup plan for them now, so they need to flush.
Fixes #2917 .
2015-11-15 15:06:37 -08:00
Henrik Rydgard
4b360a571c
Remove the depth range hack option, turning it into an ugly game specific compatibility hack.
...
I hate doing this, but it's not really better off as an option.
See #8171
2015-11-15 23:00:25 +01:00
Henrik Rydgard
f3b0562bd8
Improve viewport terminology a bit. No functional change.
2015-11-04 22:03:29 +01:00
Henrik Rydgard
44be9f2a50
Move Windows GPU init code into Windows/GPU
2015-11-03 23:22:09 +01:00
Henrik Rydgard
6b2862284b
Minor cleanups
2015-11-02 20:09:59 +01:00
Henrik Rydgard
f4248cb550
Remove a whole lot of flipping special cases
2015-11-02 20:07:30 +01:00
Henrik Rydgard
293ab099bc
Disable FRAMEBUFFER_FETCH for all GPUs. Can be whitelisted for some in the future.
2015-10-29 19:28:48 +01:00
Henrik Rydgard
6a373fe09a
Make it possible to view vertex decoders through the shader viewing mechanism (even though they aren't strictly shaders, they fit the model).
2015-10-24 10:41:31 +02:00
Henrik Rydgård
953f712e3a
Merge pull request #8065 from hrydgard/shader-view
...
Add new shader viewing tool
2015-10-14 19:05:24 +02:00
Henrik Rydgård
f7b3e5e693
Merge pull request #7922 from hrydgard/fragshader-depth-round
...
WIP: Alternative to #7920 : Round depth in the fragment shader.
2015-10-14 18:36:05 +02:00
Henrik Rydgard
7f4e473e8c
Add new shader viewing tool
2015-10-14 18:10:21 +02:00
Unknown W. Brackets
4222639a84
Oops, fix texture preview in GE debugger.
2015-10-12 21:40:47 -07:00
Henrik Rydgard
65b78b18ea
Only enable fragment shader depth rounding for Heroes Phantasia, should reduce flicker.
...
Doens't fix but helps #6485
2015-10-11 20:52:00 +02:00
Henrik Rydgard
b07b002040
Introduce "Compatibility Flags".
...
These should be used very restrictively, see comment in Compatibility.h.
Should help #8004 , by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +02:00
Henrik Rydgård
5d7c4dd7c0
Merge pull request #7944 from sum2012/gpu_blacklist
...
Blacklist some gpu
2015-09-23 18:15:21 +02:00
Henrik Rydgard
ab3468ea02
Move native/gfx_es2/gl_state.cpp/h into GPU/GLES/GLStateCache.cpp/h
2015-09-06 13:45:17 +02:00
Henrik Rydgard
08735b806f
Remove silly use of gstate.SetVSyncInterval
2015-09-06 13:36:33 +02:00
Henrik Rydgard
72ae497350
Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP.
2015-09-06 12:42:15 +02:00
sum2012
f6050e2c37
oop
2015-09-06 17:42:12 +08:00
sum2012
c30254a40d
Rename BlacklistGPUNames to FramebufferFetchBlacklist
2015-09-06 17:40:30 +08:00
sum2012
7500145ddf
Blacklist some gpu
2015-09-06 17:33:29 +08:00
Henrik Rydgard
b22850720d
Move the CheckGPUFeatures call to the Resize check
2015-09-06 00:13:46 +02:00
Henrik Rydgard
1c0158bfe6
Further reduce the use of ifdef USING_GLES2 and friends.
2015-09-05 23:39:10 +02:00
Henrik Rydgard
0237b84efd
Reduce use of #ifdef USING_GLES2 some more
2015-09-05 23:09:06 +02:00
Henrik Rydgard
186d624ef3
Cleanup of FBO+blit flags. Requires the change in native to stop lying.
2015-09-05 22:40:45 +02:00
Henrik Rydgard
5b2ffd1434
Fix some naming, remove NV_draw_texture, move decisions out
2015-09-05 22:11:28 +02:00
Henrik Rydgard
f524049277
Move more GPU feature checks upfront. Re-check when exiting settings menu.
2015-09-05 21:23:58 +02:00