Jules Blok
9994ccb342
PostProcessing: Invalidate shader when anaglyph stereoscopy is toggled.
2014-11-23 14:27:40 +01:00
Jules Blok
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
Jules Blok
ee76c03160
TextureCache: Recompile EFB2Tex shaders when stereo 3D is toggled.
2014-11-23 14:27:40 +01:00
Jules Blok
4d075c2efb
ProgramShaderCache: Abort shader compilation if geometry shader failed to compile.
2014-11-23 14:27:40 +01:00
Jules Blok
6642af2404
OGL: Remove Virtual XFB SBS support.
2014-11-23 14:27:40 +01:00
Jules Blok
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
Jules Blok
081212b765
TextureCache: Force mono copies of the depth buffer.
...
Fixes stereoscopic stencil shadows in some games.
2014-11-23 14:27:39 +01:00
Jules Blok
2cb2290910
TextureCache: Fix invalid cast.
2014-11-23 14:27:39 +01:00
Jules Blok
c0a5ae1746
OGL: Also redefine glFramebufferTexture on OpenGL ES.
2014-11-23 14:27:39 +01:00
Jules Blok
aa57feb9a8
ProgramShaderCache: Don't call glAttachShader if no geometry shader was compiled.
2014-11-23 14:27:39 +01:00
Jules Blok
f74d1b16ed
OGL: Add Top-and-Bottom stereoscopy mode.
2014-11-23 14:27:39 +01:00
Jules Blok
c3ad6e7820
PostProcessing: Add support for anaglyph stereoscopy mode.
2014-11-23 14:27:39 +01:00
Jules Blok
6c8f3fa861
VideoConfig: Add StereoMode enumeration.
2014-11-23 14:27:39 +01:00
Jules Blok
0eb0c47eba
Render: Improve SBS presentation.
...
New calculation properly takes pillar boxing into account.
2014-11-23 14:27:39 +01:00
Jules Blok
d7804a4d3e
Cosmetics.
2014-11-23 14:27:39 +01:00
Jules Blok
9b22e15180
VideoConfigDiag: Add stereoscopy options group.
2014-11-23 14:27:38 +01:00
Jules Blok
4d9589b35f
Cosmetics.
2014-11-23 14:27:38 +01:00
Jules Blok
35342664e3
OGL: Disable stereoscopy if the GPU does not support geometry shaders.
2014-11-23 14:27:38 +01:00
Jules Blok
f370cb386c
ProgramShaderCache: Always generate a geometry shader UID, even if stereoscopy is disabled.
2014-11-23 14:27:38 +01:00
Jules Blok
4fd943aedd
VideoConfig: Limit the Stereo 3D option to the OpenGL backend.
2014-11-23 14:27:38 +01:00
Jules Blok
284be96cd5
OGL: Recreate the framebuffers when the stereo setting changes.
2014-11-23 14:26:56 +01:00
Jules Blok
d583720a59
GeometryShaderGen: Support stereoscopy on GPUs without support for instancing.
2014-11-23 14:26:56 +01:00
Jules Blok
0a72cf94cb
TextureCache: Ignore the geometry shader if stereoscopy is disabled.
2014-11-23 14:24:09 +01:00
Jules Blok
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
Jules Blok
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
Jules Blok
5944d15021
TextureCache: Check the number of layers before reusing a texture.
2014-11-23 14:23:42 +01:00
Jules Blok
80616c6e9e
TextureCache: Implement layered framebuffer support.
...
Stereoscopic EFB2Tex is now supported.
2014-11-23 14:23:41 +01:00
Jules Blok
c64486075d
PostProcessing: Add layered stereoscopy support.
2014-11-23 14:23:41 +01:00
Jules Blok
b005f61a2e
Add geometry shader generator for stereo 3D.
2014-11-23 14:22:55 +01:00
degasus
6670cacddc
use GL_TEXTURE_2D_ARRAY for most of our textures
2014-11-23 14:22:22 +01:00
Ryan Houdek
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
Fiora
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
comex
fb50cb6d99
Merge pull request #1550 from degasus/bbox
...
OGL: implement bounding box support with ssbo
2014-11-19 20:25:23 -05:00
Ryan Houdek
a3f9f21e08
Merge pull request #1571 from degasus/master
...
OGL: fix buffer destruction
2014-11-19 02:13:36 -06:00
skidau
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
degasus
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
degasus
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
Lioncash
b94dbca160
Host: Kill off GetRenderWindowSize
2014-11-17 13:44:49 -05:00
Ryan Houdek
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
Stevoisiak
b25e1a2eb4
Various formatting and consistency fixes
2014-11-13 22:42:18 -05:00
comex
890b788633
Merge pull request #1467 from waddlesplash/dolphin-qt
...
DolphinQt: Games now boot!
2014-11-02 18:08:55 -05:00
Augustin Cavalier
29593d403b
Move GLInterface to the OGL VideoBackend's directory.
2014-11-02 12:16:33 -05:00
Ryan Houdek
13d58b3f16
Merge pull request #1460 from phire/moreGetPointer
...
Remove GetPointers in VideoSoftware.
2014-11-02 09:57:16 -06:00
skidau
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
Lioncash
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
Scott Mansell
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
Ryan Houdek
3e82cb4628
Merge pull request #1440 from Sonicadvance1/attributeless-workaround
...
Implements PP shader system using attribute workaround.
2014-10-30 12:46:40 -06:00
Ryan Houdek
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
Rohit Nirmal
2a878d7726
OGL: Use unique_ptr instead of pointer when taking screenshot.
2014-10-29 20:59:34 -05:00
skidau
e0393be347
Merge pull request #1418 from degasus/master
...
OGL: fix interpolation of PP shaders
2014-10-30 12:49:21 +11:00