8210b9c915
TextureCache: Ensure that all render target textures have as many layers as the frame buffer.
...
Also fixes a case where the D3D code path did not initialize num_layers leading to undefined behaviour.
2014-11-23 14:27:40 +01:00
ee76c03160
TextureCache: Recompile EFB2Tex shaders when stereo 3D is toggled.
2014-11-23 14:27:40 +01:00
4d075c2efb
ProgramShaderCache: Abort shader compilation if geometry shader failed to compile.
2014-11-23 14:27:40 +01:00
6642af2404
OGL: Remove Virtual XFB SBS support.
2014-11-23 14:27:40 +01:00
ab76cf8b5e
PostProcessing: Apply color correction to the anaglyph shader.
...
The eyes were accidentally swapped, the left filter only allows red to pass so the left eye texture should be used in the red channel.
2014-11-23 14:27:39 +01:00
081212b765
TextureCache: Force mono copies of the depth buffer.
...
Fixes stereoscopic stencil shadows in some games.
2014-11-23 14:27:39 +01:00
2cb2290910
TextureCache: Fix invalid cast.
2014-11-23 14:27:39 +01:00
c0a5ae1746
OGL: Also redefine glFramebufferTexture on OpenGL ES.
2014-11-23 14:27:39 +01:00
aa57feb9a8
ProgramShaderCache: Don't call glAttachShader if no geometry shader was compiled.
2014-11-23 14:27:39 +01:00
f74d1b16ed
OGL: Add Top-and-Bottom stereoscopy mode.
2014-11-23 14:27:39 +01:00
c3ad6e7820
PostProcessing: Add support for anaglyph stereoscopy mode.
2014-11-23 14:27:39 +01:00
6c8f3fa861
VideoConfig: Add StereoMode enumeration.
2014-11-23 14:27:39 +01:00
0eb0c47eba
Render: Improve SBS presentation.
...
New calculation properly takes pillar boxing into account.
2014-11-23 14:27:39 +01:00
d7804a4d3e
Cosmetics.
2014-11-23 14:27:39 +01:00
9b22e15180
VideoConfigDiag: Add stereoscopy options group.
2014-11-23 14:27:38 +01:00
4d9589b35f
Cosmetics.
2014-11-23 14:27:38 +01:00
35342664e3
OGL: Disable stereoscopy if the GPU does not support geometry shaders.
2014-11-23 14:27:38 +01:00
f370cb386c
ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled.
2014-11-23 14:27:38 +01:00
4fd943aedd
VideoConfig: Limit the Stereo 3D option to the OpenGL backend.
2014-11-23 14:27:38 +01:00
284be96cd5
OGL: Recreate the framebuffers when the stereo setting changes.
2014-11-23 14:26:56 +01:00
d583720a59
GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.
2014-11-23 14:26:56 +01:00
0a72cf94cb
TextureCache: Ignore the geometry shader if stereoscopy is disabled.
2014-11-23 14:24:09 +01:00
fa32f751d3
ShaderGen: Handle ShaderCode objects directly.
...
ShaderGeneratorInterface does not have virtual function members, so we have to implement each type explicitly.
2014-11-23 14:24:09 +01:00
4fe9ceeee2
TextureCache: Set proper vertex limit in geometry shader.
...
Without instancing 6 vertices are output instead of 3.
2014-11-23 14:23:42 +01:00
5944d15021
TextureCache: Check the number of layers before reusing a texture.
2014-11-23 14:23:42 +01:00
80616c6e9e
TextureCache: Implement layered framebuffer support.
...
Stereoscopic EFB2Tex is now supported.
2014-11-23 14:23:41 +01:00
c64486075d
PostProcessing: Add layered stereoscopy support.
2014-11-23 14:23:41 +01:00
b005f61a2e
Add geometry shader generator for stereo 3D.
2014-11-23 14:22:55 +01:00
6670cacddc
use GL_TEXTURE_2D_ARRAY for most of our textures
2014-11-23 14:22:22 +01:00
36fe8ccf46
OGL: also show driver warnings on release builds
2014-11-22 15:07:52 +01:00
2fdeefb65b
Adds support for OpenGL ES draw_elements_base_vertex.
...
This is the same extension that we all know and love but under a different name with some different requirements.
In regular OpenGL fashion, you can't just move a desktop OpenGL extension to OpenGL ES without ratifying a new extension, which is why this falls
under a EXT extension, which in turn causes it to have suffixes attached to their function names.
This is the first step in our way towards conquering all mobile GPUs that don't support desktop OpenGL, hopefully we also can add support for
buffer_storage to OpenGL ES as well so we can make full use of this extension.
2014-11-21 18:57:32 -06:00
3ddf82a318
Vertex Loader: SSE implementations of more position/texcoord/normal formats
...
~35-45% faster NFS:HP2, possibly other vertex-bound games.
2014-11-20 02:13:19 -08:00
fb50cb6d99
Merge pull request #1550 from degasus/bbox
...
OGL: implement bounding box support with ssbo
2014-11-19 20:25:23 -05:00
a3f9f21e08
Merge pull request #1571 from degasus/master
...
OGL: fix buffer destruction
2014-11-19 02:13:36 -06:00
32f2cd8c7f
Merge pull request #1566 from Sonicadvance1/fix_gl21
...
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
2014-11-19 12:47:23 +11:00
ff942d44b5
OGL: fix buffer destruction
...
This buffer will be unbound in the StreamBuffer class itself, so no need to unbind them before.
2014-11-18 23:13:06 +01:00
c211450b99
OGL: implement bounding box support with ssbo
...
This implemention tries to be as accurate as the old SW implemention, but it will remove the dependcy of our vertexloader on videosw.
2014-11-17 21:20:32 +01:00
b94dbca160
Host: Kill off GetRenderWindowSize
2014-11-17 13:44:49 -05:00
3bfa15d2e1
Fixes GLExtensions for GL 2.1 or GLES 2 devices.
...
This wasn't too much of a concern since we normally don't care about this feature set, but it is nice when testing on new devices and they don't
support the higher feature sets but want to run under software renderer.
The Mesa softpipe and PowerVR 5xx drivers don't support higher GL versions, but they shouldn't exit out just because they couldn't get a GL3 function
pointer that isn't even going to be used at that point.
2014-11-16 22:59:29 -06:00
b25e1a2eb4
Various formatting and consistency fixes
2014-11-13 22:42:18 -05:00
890b788633
Merge pull request #1467 from waddlesplash/dolphin-qt
...
DolphinQt: Games now boot!
2014-11-02 18:08:55 -05:00
29593d403b
Move GLInterface to the OGL VideoBackend's directory.
2014-11-02 12:16:33 -05:00
13d58b3f16
Merge pull request #1460 from phire/moreGetPointer
...
Remove GetPointers in VideoSoftware.
2014-11-02 09:57:16 -06:00
59c673aec6
Merge pull request #1161 from rohit-n/ogl-vector
...
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-11-02 14:19:00 +11:00
9ab924513e
VideoCommon/VideoBackends: Remove unnecessary wxWidgets references.
...
EmuWindow doesn't even exist anymore. wxWidgets is also decoupled from the backends.
2014-11-01 19:19:00 -04:00
b929f764f2
Remove GetPointers in VideoSoftware.
...
This same code was previously fixed in VideoCommon, just
updating this to match.
We are down to 121 GetPointers.
2014-11-01 16:29:19 +13:00
3e82cb4628
Merge pull request #1440 from Sonicadvance1/attributeless-workaround
...
Implements PP shader system using attribute workaround.
2014-10-30 12:46:40 -06:00
181ff6750e
Implements PP shader system using attribute workaround.
...
This is pretty much a step backwards in our code. We used to use attributes in our PP shader system a long time ago but we changed it to attributeless
for code simplicity and cleanliness. This reimplements the attribute code path as an optional path to take in the case your system doesn't work with
attributeless rendering. In this case the only shipping drivers that we can know for sure supports attributeless rendering is the Nexus 5's v95 driver
that is included in the Android 5.0 image.
I hadn't planned on implementing a work around to get post processing working in these cases, but due to us force enabling the PP shader system at all
times it sort of went up on the priority list. We can't be having a supported platform black screening at all times can we?
2014-10-30 10:49:03 -05:00
2a878d7726
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-10-29 20:59:34 -05:00
e0393be347
Merge pull request #1418 from degasus/master
...
OGL: fix interpolation of PP shaders
2014-10-30 12:49:21 +11:00