c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
70cf774a5c
RenderBase: Forward declare EFBAccessType
2017-01-23 12:41:26 -05:00
5b461f50af
VideoBackendBase: Convert EFBAccessType into an enum class
2017-01-23 03:53:38 -05:00
e6249619a0
Vulkan/GL: Set the alpha channel to 0 when creating the EFB framebuffer
2016-12-27 13:06:08 +10:00
5b3c74a31a
OGL: Remove unnecessary c_str calls
2016-09-09 06:30:34 -04:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
db551c55a2
FrameBufferManager: Fix typo in stereoscopic MSAA shader.
2016-01-07 20:05:12 +01:00
330329254c
Merge pull request #3361 from stenzek/d3d-vectored-efb-pokes
...
D3D: Implement vectored efb pokes
2015-12-30 15:27:24 +01:00
8ce3a4aa70
ShaderGeneration: Get rid of static buffers
2015-12-26 17:01:54 -05:00
e422af9cce
FramebufferManager: Get rid of raw new and delete
2015-12-22 18:06:05 -05:00
f448c6e291
FramebufferManagerBase: Get rid of explicit delete and new
2015-12-21 15:57:48 -05:00
a61fc372bb
VideoCommon: Change PokeEFB to take a pointer rather than a vector
...
This saves allocating a vector for the pass-through path.
2015-12-20 14:42:14 +10:00
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00
7650117c26
Properly support MSAA and SSAA as separate features(+GLES)
...
SSAA relies on MSAA being active to work. We only supports 4x SSAA while in fact you can enable SSAA at any MSAA level.
I even managed to run 64xMSAA + SSAA on my Quadro which made some pretty sleek looking games. They were very cinematic though.
With this, it properly fixes up SSAA and MSAA support in GLES as well. Before they were broken when stereo rendering was enabled.
Now in GLES they can properly support MSAA and also stereo rendering with MSAA enabled(with proper extensions).
2015-09-05 05:23:29 -05:00
2e28ed3291
Video: respect stride of efb copies to xfb
2015-07-25 01:52:12 +08:00
3f46491255
Fix OpenGL ES shader compilation.
2015-06-07 19:44:44 -05:00
37dc8661ab
Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
...
This reverts commit 9ef1ca4141
.
2015-06-06 20:10:23 +02:00
8cc271516d
Revert "Revert "OGL: Change the depth buffer type to GL_FLOAT.""
...
This reverts commit 05d60f4fef
.
2015-06-06 20:09:22 +02:00
84b13de538
OGL: Rewrite POKE_Z with a draw call
...
It's now also merged and it should be faster than the glClear way.
2015-06-02 23:06:41 +02:00
ebf3048494
Fix invalid enums on OpenGLES
2015-06-02 12:13:31 -04:00
c4fc141ced
OGL: Always use sampler objects.
...
We are used to use the texture parameter for all util draw calls,
but AMD seems to have a bug where they use the sampler parameter
of stage 0 if no sampler is bound to the used stage.
So as workaround (and a bit as nicer code), we now use sampler
objects everywhere.
2015-05-29 14:03:03 +02:00
285ac34bf3
OGL: use GL_TEXTURE* constants
2015-05-27 15:05:49 +02:00
dad5d8e13d
Merge pull request #2357 from degasus/ogl_efb_poke_merge
...
ogl: efb poke merge
2015-05-25 23:26:39 -04:00
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
05d60f4fef
Revert "OGL: Change the depth buffer type to GL_FLOAT."
...
This reverts commit 4b2e04b862
.
2015-05-20 14:22:29 +02:00
9ef1ca4141
Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format."
...
This reverts commit be810eb750
.
2015-05-20 14:22:28 +02:00
d91d935057
OGL: reimplement poke-color
2015-05-20 11:05:31 +02:00
be810eb750
OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.
2015-05-08 14:29:30 +02:00
4b2e04b862
OGL: Change the depth buffer type to GL_FLOAT.
2015-05-08 14:29:29 +02:00
269be03908
OpenGL: use ClampUL instead of ClampLL where appropriate.
2015-03-12 13:24:52 -07:00
031096c8d4
FramebufferManager: Remove unnecessary sampler declaration.
...
It's not needed and invalid when declared for the geometry shader.
2015-01-09 14:53:56 +01:00
46bb4fd364
FramebufferManagerBase: Remove obsolete parameters.
2014-12-25 00:58:16 +01:00
b109b31f61
FramebufferManagerBase: Only allocate one layer for Real XFB.
2014-12-24 17:22:23 +01:00
12412ac5b7
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
2014-12-24 17:22:22 +01:00
01718eafa6
FramebufferManager: Use a separate layer variable.
2014-12-23 13:16:03 +01:00
ba242d27c8
FramebufferManager: Support stereoscopic EFB format changes.
2014-12-21 15:25:58 +01:00
d37b65c117
FramebufferManager: Support resolving a multi-layered EFB in OGL.
2014-12-20 16:08:00 +01:00
761749e07f
FramebufferManager: Support resolving a multi-layered EFB in D3D.
2014-12-19 22:37:28 +01:00
029f8c3c3f
OGL: Ensure a VAO is bound for all attributeless.
...
Unfortunately, some of these cases are not well tested, because I don't
know how to reproduce them.
2014-12-11 09:42:49 -08:00
42bb48bd46
FramebufferManager: Bind only the first framebuffer layer when the EFB only has one layer.
2014-12-05 00:36:10 +01:00
40920b3823
OGL: Don't use texture arrays for MSAA.
...
This solves a performance regression on AMD cards.
We don't currently support stereoscopy for MSAA anyway.
2014-12-03 01:39:43 +01:00
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
9b22e15180
VideoConfigDiag: Add stereoscopy options group.
2014-11-23 14:27:38 +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
49b94e5285
OGL: Get rid of error macros
2014-10-26 04:54:58 -04:00
7292ea6a04
OGL: force enable postprocessing
2014-10-23 00:21:52 +02:00