Commit Graph

220 Commits

Author SHA1 Message Date
Jules Blok
93ce95b48e D3D: Use ROUND_UP macro for rounding buffer sizes. 2014-12-18 00:37:15 +01:00
Jules Blok
3d9dfad6a2 D3D: Set the geometry shader before every draw call.
And refactor the VertexManager draw call.
2014-12-18 00:36:50 +01:00
Jules Blok
7e8f96f0d3 OGL: Don't generate a geometry shader if the backend doesn't support it.
This commit repurposes the bSupportsStereoscopy flag as the bSupportsGeometryShaders flag.
2014-12-18 00:36:49 +01:00
Jules Blok
bd6d229733 GeometryShader: Disable the geometry shader stage if it is a pass-through shader. 2014-12-18 00:36:48 +01:00
Jules Blok
2850c9a206 VertexManager: Disable culling for lines and points. 2014-12-18 00:36:47 +01:00
Jules Blok
8ae738ff30 VideoCommon: Merge PointGeometryShader into GeometryShaderGen.
This adds point-width emulation support to OpenGL.
2014-12-15 22:47:43 +01:00
Jules Blok
55e60a9c22 VideoCommon: Merge LineGeometryShader into GeometryShaderGen.
This adds line-width emulation support to OpenGL.
2014-12-15 22:47:42 +01:00
Jules Blok
382e1c22db GeometryShaderGen: Support multiple primitive types.
And make more stereoscopy code optional.
2014-12-15 22:47:41 +01:00
Jules Blok
aa4242fd9c GeometryShaderGen: Pass the primitive type and always run the generator regardless of stereoscopy. 2014-12-14 21:23:20 +01:00
Jules Blok
b406e4e1f2 VideoCommon: Add a separate constants buffer for the geometry shader. 2014-12-14 21:23:13 +01:00
Jules Blok
6c7bed25a5 Cosmetics 2014-12-14 13:29:27 +01:00
Jules Blok
fd6b588627 D3D: Define decimals in floating point numbers 2014-12-14 13:28:49 +01:00
Jules Blok
a6ac7dd5bd D3D: Fix Nvidia 3D Vision memory leak 2014-12-14 13:28:49 +01:00
Jules Blok
6fe7d530ed PixelShaderCache: Fix MSAA shaders.
Various typos were introduced due to lack of testing.
2014-12-14 13:28:48 +01:00
Jules Blok
b2e73400be Cosmetics 2014-12-14 13:28:48 +01:00
Jules Blok
b06280e866 D3D: Add anaglyph stereoscopy support. 2014-12-14 13:28:47 +01:00
Jules Blok
4b3e784949 TextureCache: Add stereoscopy support for EFB to texture copies. 2014-12-14 13:28:47 +01:00
Jules Blok
3355d8086d D3DUtil: Use a geometry shader to clear all slices. 2014-12-14 13:28:46 +01:00
Jules Blok
799697ad80 PSTextureEncoder: Add texture array support.
We only read the first slice, because EFB2RAM doesn't support texture arrays.
2014-12-14 13:28:46 +01:00
Jules Blok
ced733ccdf PixelShaderCache: Add texture array support to static shaders. 2014-12-14 13:28:46 +01:00
Jules Blok
d58e389f67 D3D: Recreate the framebuffer when stereoscopic 3D is toggled. 2014-12-14 13:28:45 +01:00
Jules Blok
7c05b9a6d0 D3D: Set the geometry shader for triangle primitives. 2014-12-14 13:28:44 +01:00
Jules Blok
4f6ce0f236 D3D: Add geometry shader instancing support. 2014-12-14 13:28:44 +01:00
Jules Blok
ca766747a8 D3DTexture: Bind textures as texture arrays. 2014-12-14 13:28:43 +01:00
Jules Blok
cf12c93c86 D3D: Use common GetEFBLayers() instead of GetEFBSlices(). 2014-12-14 13:28:43 +01:00
Jules Blok
9d9bd5341d D3D: Restore viewport after stereo blitting. 2014-12-14 13:28:43 +01:00
Jules Blok
a689db0e48 D3D: Add 3D vision support. 2014-12-14 13:28:42 +01:00
Jules Blok
e53705784b D3D: Add SBS/TAB output support. 2014-12-14 13:28:42 +01:00
Jules Blok
9253bb7d96 D3D: Add geometry shader stereoscopy support. 2014-12-14 13:28:41 +01:00
Jules Blok
d5ebdf7a97 D3D: Add GeometryShaderCache. 2014-12-14 13:28:41 +01:00
Jules Blok
9a312e2b83 D3D: Use two slices for most of our textures. 2014-12-14 13:28:40 +01:00
Jules Blok
14792c3402 D3DState: Set the pixel shader in m_current when linking dynamically. 2014-12-13 22:09:34 +01:00
Jules Blok
a2b43b21fe D3DState: Always update the m_pending members in the setters.
Fixes unintentional behaviour when a setter is called twice before the state is applied.
2014-12-13 21:51:18 +01:00
Dolphin Bot
971a95aece Merge pull request #1503 from kayru/d3d_optimization_cache
D3D: Filter redundant API calls by caching state in StateManager
2014-12-11 23:38:35 +01:00
Rodolfo Bogado
cf7512683c spaces cleanup 2014-12-07 20:28:27 -03:00
Yuriy O'Donnell
e90604c5ed D3D: Fixed debug validation error
A texture was still being bound when OMSetRenderTargets is called.
State manager resource cache must be flushed to unbind it.
This fixes The Last Story cut scene rendering.
2014-12-07 18:46:05 +01:00
Yuriy O'Donnell
4392d3cd55 D3D: Fixed StateManager member function name case 2014-12-07 18:45:50 +01:00
Yuriy O'Donnell
80459c52e9 D3D: StateManager m_current and m_pending are now value-initialized 2014-12-07 18:45:49 +01:00
Yuriy O'Donnell
0e18e9e80d D3D: Removed cull mode changes for lines and points
Fixed include order and whitespace
2014-12-07 18:45:20 +01:00
Yuriy O'Donnell
6e9226650d D3D: Implemented context state caching
This avoids most of the redundant API calls.
2014-12-07 18:17:19 +01:00
Rodolfo Bogado
c2de38c115 use SAFE_RELEASE to make code cleaner 2014-12-06 10:46:15 -03:00
Rodolfo Bogado
817d025328 small spacing fixes 2014-12-05 23:54:34 -03:00
Rodolfo Bogado
c7bb8fba9e Added support test for bbox and some naming corrections 2014-12-05 18:51:23 -03:00
Rodolfo Bogado
93b4540e19 Add HW bounding Box support to d3d backend 2014-12-05 15:03:24 -03:00
skidau
7bc78827ed Merge pull request #1574 from degasus/profiler
Common: Add a built-in profiler
2014-12-04 13:22:31 +11:00
degasus
94d9d138d9 Common: Add a built-in profiler 2014-12-03 00:50:41 +01:00
Yuriy O'Donnell
36b886cb80 D3D: Viewport min and max depth is now clamped to [0..1] range 2014-11-29 11:42:53 +01:00
Yuriy O'Donnell
1fe3d07cbd D3D: Removed somewhat mysterious comment
It would be good to know which games exactly exhibited the issue.
2014-11-29 11:11:28 +01:00
Yuriy O'Donnell
cc2227fbc3 D3D: Replaced shader-based depth range remap with viewport
This fixes UI rendering in some games mentioned in https://code.google.com/p/dolphin-emu/issues/detail?id=7785
2014-11-29 11:11:28 +01:00
Ryan Houdek
ce059769f6 Merge pull request #1439 from Armada651/ogl-stereo-3d
OGL: Stereoscopic 3D Support
2014-11-28 11:45:38 -06:00