Commit Graph

2781 Commits

Author SHA1 Message Date
0f63186371 TextureCache: Add "Mono EFB Depth Copy" stereoscopy option. 2014-11-23 14:27:40 +01:00
f3ddf37d07 VideoCommon: Switch to Nvidia stereoscopy offset formula. 2014-11-23 14:27:40 +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
27f3f804a0 ShaderGen: Only pass VS_OUTPUT between shaders if stereo 3D is enabled.
GLSL130 doesn't support passing structs between shaders.
This is not a problem for stereo 3D which has a GLSL150 requirement.
2014-11-23 14:27:40 +01:00
51a4d6a4be GeometryShader: Adjust positions after projection.
By adjusting the positions in clip space we can avoid the re-projection.
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
acc65ee608 GeometryShader: Replicate missing position manipulations from vertex shader. 2014-11-23 14:27:40 +01:00
3baa01fc73 VideoConfig: Use a smaller focal length default. 2014-11-23 14:27:39 +01:00
f74d1b16ed OGL: Add Top-and-Bottom stereoscopy mode. 2014-11-23 14:27:39 +01:00
1261bd02ca VertexShaderManager: Add stereoscopy options to swap the left and right eye. 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
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
9b4185ffdf ShaderGen: Make use of padding to store the stereo flag. 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
6cacfad010 GeometryShader: Transform the projection within the geometry shader.
Reduces the amount of data transferred through uniforms.
The shearing transformation is reduced to a single multiplication/addition for optimization.
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
63b37e29d1 ShaderGen: Rename "eye" to "layer".
Keeping things generic.
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
176191dc16 ShaderGenCommon: Move uniforms into a common static string. 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
b236c363de ShaderGen: Add a stereoscopy flag in the UID data. 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
272ea90ca5 GeometryShaderGen: Allow stereoscopy to be disabled.
Will facilitate future use of this generator for other purposes.
2014-11-23 14:23:41 +01:00
d9e280e338 PixelShaderGen: Sample the correct texture layer. 2014-11-23 14:23:41 +01:00
f6ea293027 VertexShaderManager: Compute stereoscopy projection matrices. 2014-11-23 14:23:41 +01:00
c64486075d PostProcessing: Add layered stereoscopy support. 2014-11-23 14:23:41 +01:00
2d8ec62beb Pass VS_OUTPUT structs between shaders. 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
6f3e20ac42 OGL: disable bbox writes if not supported 2014-11-22 15:17:57 +01:00
4ef0ab2731 Merge pull request #1534 from FioraAeterna/fixd3dtex1x1
D3D: fix issues with multi-level 1x1 textures on D3D
2014-11-21 19:12:58 +13:00
21e4e035cc Merge pull request #1281 from Stevoisiak/RenameEuRGB60
Renamed EuRGB to PAL60
2014-11-21 19:09:42 +13: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
ca3e5ce5e1 Added an exception check when the game is close to overflowing. Fixes the fifo overflow that occurs in Battalion Wars 2.
Changed the CPEnd loop check to an exact match.
2014-11-19 12:48:09 +11:00
3d448e49c6 Update CPStatus before processing the FIFO events and force an exception check on interrupts.
Added more information into the FIFO unknown opcode error message.
2014-11-19 12:48:08 +11:00
b2c02e216c Separated out the CPU and GPU thread path to avoid clobbering.
Removed the Eternal Darkness check as it is no longer required.

Fixes issue 7835.
2014-11-19 12:48:08 +11:00
e7a82c4ded Renamed EuRGB60 to PAL60 2014-11-18 16:51:21 -05: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
90613a1bda OpcodeDecoder: Skip recursiv display lists 2014-11-15 16:24:06 +01:00
b25e1a2eb4 Various formatting and consistency fixes 2014-11-13 22:42:18 -05:00
733795891c D3D: fix issues with multi-level 1x1 textures on D3D
Fixes NBA 2K11, maybe other things.
2014-11-12 21:43:48 -08:00
dc08de028c Moved projection epsilon to a more reasonable place 2014-11-09 15:25:49 +01:00
44b879dac2 Destroy OpenMP 2014-11-06 18:38:24 -08:00
f6b4b4dbba Merge pull request #1497 from lioncash/host
Host: Kill off Host_SysMessage
2014-11-06 20:41:53 -05:00
884ec2ed13 Host: Kill off Host_SysMessage
Equivalent facilities already exist.
2014-11-05 02:30:48 -05:00
c34d99e40e Work around LLVM header peculiarity
Bug report: http://llvm.org/bugs/show_bug.cgi?id=21472
2014-11-04 02:29:33 +01:00