Jules Blok
|
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 |
|
Jules Blok
|
399b6248d1
|
D3D: Further improve exclusive fullscreen state checking.
|
2015-01-05 00:01:22 +01:00 |
|
Jules Blok
|
b7e056c74d
|
Host: Add Host_RendererIsFullscreen().
|
2015-01-04 17:09:56 +01:00 |
|
Jules Blok
|
3b9c070ee0
|
D3D: Only try to apply exclusive mode when the renderer is in focus.
|
2015-01-04 16:42:16 +01:00 |
|
Jules Blok
|
dddaa11595
|
OGL: Fix stereoscopy not being applied properly while the game is running.
|
2015-01-03 01:36:43 +01:00 |
|
Jules Blok
|
582a15deb3
|
PostProcessing: Mark all shaders constant.
|
2015-01-02 20:03:20 +01:00 |
|
Jules Blok
|
26a9afa0e7
|
Anaglyph: Use matrices instead of vectors.
|
2015-01-02 14:32:42 +01:00 |
|
Jules Blok
|
491de39325
|
PixelShaderCache: Implement Dubois algorithm in anaglyph shader.
|
2015-01-02 03:06:11 +01:00 |
|
Jules Blok
|
e3969f763e
|
PostProcessing: Use Dubois algorithm for anaglyph shader.
|
2015-01-02 03:02:28 +01:00 |
|
Jules Blok
|
0860c02258
|
VideoConfig: Don't disable stereoscopy if Real XFB is enabled but not in use.
|
2014-12-29 19:15:31 +01:00 |
|
Jules Blok
|
b474c4229d
|
VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision.
|
2014-12-29 17:05:39 +01:00 |
|
Jules Blok
|
da058b3078
|
VideoConfig: Fix convergence parameter.
Looks like a rebase failed somewhere.
|
2014-12-29 12:03:59 +01:00 |
|
Jules Blok
|
813b3808a7
|
VideoConfigDiag: Remove double space.
|
2014-12-29 11:20:14 +01:00 |
|
Jules Blok
|
29e05c5ff8
|
Stereo3D: Don't rely on GetEFBLayers() when dealing with shaders.
Shaders may be compiled before the FramebufferManager is initialized.
|
2014-12-29 11:19:55 +01:00 |
|
Jules Blok
|
3ed777b0f9
|
PixelShaderGen: Don't assign to input variables.
|
2014-12-28 23:37:05 +01:00 |
|
Jules Blok
|
8676891f77
|
VertexShaderGen: Don't read from output variables.
|
2014-12-28 23:28:00 +01:00 |
|
Jules Blok
|
3f763e6999
|
DriverDetails: Remove Intel Structs bug since it doesn't affect us anymore.
|
2014-12-28 23:28:00 +01:00 |
|
Jules Blok
|
7eb353b3bd
|
VideoCommon: Don't pass structs between shaders, use the interface blocks instead.
|
2014-12-28 23:28:00 +01:00 |
|
Jules Blok
|
2c0bee5da9
|
DriverDetails: Update Intel bug description.
|
2014-12-28 23:28:00 +01:00 |
|
Jules Blok
|
e1dc033113
|
Renderer: Cosmetics.
|
2014-12-28 18:35:23 +01:00 |
|
Jules Blok
|
89de7e0526
|
Renderer: Invalidate the FramebufferManager if the XFB mode is changed.
Fixes incorrect texture sizes after switching XFB modes.
|
2014-12-28 18:26:25 +01:00 |
|
Jules Blok
|
730a6e5f4b
|
D3D: Fix Virtual XFB viewport.
Looks like I was incorrect about swapping the bottom and top members.
|
2014-12-28 17:34:19 +01:00 |
|
Jules Blok
|
81d1b7f0c2
|
XFBEncoder: Cosmetics.
|
2014-12-28 16:30:48 +01:00 |
|
Jules Blok
|
d7037ae492
|
PixelShaderCache: Don't use GetDimensions() for the sample count.
This function is bugged on Windows 7, and statically declaring the sample count is trivial anyway.
|
2014-12-27 14:45:15 +01:00 |
|
Jules Blok
|
86120bfc97
|
GeometryShaderManager: Set viewport in SetConstants().
Setting it in the callback is too early.
|
2014-12-26 17:58:59 +01:00 |
|
Jules Blok
|
833513f384
|
XFBEncoder: Sample the first layer of the resolved EFB texture.
Using the multisampled EFB texture is invalid, as the XFB encoder does not have a multisampling shader.
|
2014-12-25 12:09:35 +01:00 |
|
Jules Blok
|
af8ac328e5
|
Renderer: Use old method of calculating the source rectangle.
|
2014-12-25 02:37:22 +01:00 |
|
Jules Blok
|
46bb4fd364
|
FramebufferManagerBase: Remove obsolete parameters.
|
2014-12-25 00:58:16 +01:00 |
|
Jules Blok
|
49137c7c2c
|
FramebufferManager: Return framebuffer target size in GetTargetSize().
|
2014-12-25 00:57:52 +01:00 |
|
Jules Blok
|
111b04388c
|
VideoConfigDiag: Don't enable the post-processing config button when there are no options.
The handling of the Anaglyph override was incorrect.
|
2014-12-25 00:14:15 +01:00 |
|
Jules Blok
|
1bbb323e97
|
D3D: Remove obsolete Real XFB codepath.
|
2014-12-24 23:55:04 +01:00 |
|
Jules Blok
|
31a55384b3
|
VideoConfig: Rename "StereoMonoEFBDepth" to "StereoEFBMonoDepth"
Makes a little bit more sense.
|
2014-12-24 23:30:40 +01:00 |
|
Jules Blok
|
1105dd7dcd
|
VideoConfigDiag: Enable stereoscopy options.
|
2014-12-24 23:29:42 +01:00 |
|
Jules Blok
|
c424aa1ac6
|
GeometryShaderManager: Boost convergence value.
Most game don't require much granularity regarding the convergence value.
The default convergence was also too low, this commit increases it tenfold.
|
2014-12-24 23:29:40 +01:00 |
|
Jules Blok
|
70b898e2c6
|
VideoConfig: Rename Separation to Depth and update descriptions.
More accurate since it's not a real IPD and Nvidia also calls it depth.
|
2014-12-24 23:28:23 +01:00 |
|
Jules Blok
|
9590ea0cf6
|
VideoConfig: Turn off stereoscopy when Real XFB is enabled.
|
2014-12-24 18:45:24 +01:00 |
|
Jules Blok
|
4a86234a79
|
D3D: Support stereoscopic XFB blit to screen.
|
2014-12-24 18:45:24 +01:00 |
|
Jules Blok
|
a845aeeb3d
|
FramebufferManager: Copy all EFB layers to the XFB.
|
2014-12-24 18:45:19 +01:00 |
|
Jules Blok
|
59bea317d7
|
GeometryShaderCache: Cosmetics.
|
2014-12-24 17:22:24 +01:00 |
|
Jules Blok
|
b109b31f61
|
FramebufferManagerBase: Only allocate one layer for Real XFB.
|
2014-12-24 17:22:23 +01:00 |
|
Jules Blok
|
a9364cd5db
|
OGL: Support stereoscopic XFB blit to screen.
|
2014-12-24 17:22:23 +01:00 |
|
Jules Blok
|
12412ac5b7
|
FramebufferManager: Copy all EFB layers to the XFB framebuffer.
|
2014-12-24 17:22:22 +01:00 |
|
Jules Blok
|
b2efbdaf44
|
Cosmetics.
|
2014-12-23 13:16:09 +01:00 |
|
Jules Blok
|
01718eafa6
|
FramebufferManager: Use a separate layer variable.
|
2014-12-23 13:16:03 +01:00 |
|
Jules Blok
|
bcfd431e9a
|
Frame: Fix a crash-on-exit on Mac OS X.
A null pointer exception is triggered when Dolphin is quit from the dock.
|
2014-12-22 02:06:23 +01:00 |
|
Jules Blok
|
737bc0e7ad
|
PixelShaderCache: Support stereoscopic EFB format changes.
|
2014-12-21 15:46:12 +01:00 |
|
Jules Blok
|
ba242d27c8
|
FramebufferManager: Support stereoscopic EFB format changes.
|
2014-12-21 15:25:58 +01:00 |
|
Jules Blok
|
d37b65c117
|
FramebufferManager: Support resolving a multi-layered EFB in OGL.
|
2014-12-20 16:08:00 +01:00 |
|
Jules Blok
|
d09af2dbba
|
GeometryShaderManager: Set stereo parameters in a SetConstants() call.
Doing it in SetProjectionChanged() is too early because the projection type is not set yet.
|
2014-12-20 13:16:26 +01:00 |
|
Jules Blok
|
bc3ed44050
|
OGL: Disable geometry shaders on Intel's Windows drivers due to broken interface blocks.
|
2014-12-19 23:56:02 +01:00 |
|
Jules Blok
|
0d79e8f32b
|
VideoCommon: Don't specify the redundant in/out qualifier if GL_ARB_shading_language_420pack is supported.
Some driver developers interpreted "can" as "must" in the OpenGL specs. (I'm looking at you AMD)
|
2014-12-19 22:45:39 +01:00 |
|
Jules Blok
|
761749e07f
|
FramebufferManager: Support resolving a multi-layered EFB in D3D.
|
2014-12-19 22:37:28 +01:00 |
|
Jules Blok
|
0ae082fb61
|
FramebufferManager: Return the depth texture instead of the color texture in GetResolvedEFBDepthTexture() when AA is enabled.
|
2014-12-19 22:37:28 +01:00 |
|
Jules Blok
|
531b3941ff
|
GeometryShaderGen: Re-emit the first vertex when wireframe mode is enabled.
|
2014-12-19 14:24:08 +01:00 |
|
Jules Blok
|
1b9fe70d7c
|
VideoCommon: Make IsPassthrough() a function of the ShaderUid.
|
2014-12-19 14:10:53 +01:00 |
|
Jules Blok
|
c9e469f832
|
D3DState: Remove wireframe rasterizer support.
|
2014-12-19 14:10:52 +01:00 |
|
Jules Blok
|
925bbcb85b
|
VideoCommon: Handle wireframe mode in the geometry shader.
|
2014-12-19 14:10:52 +01:00 |
|
Jules Blok
|
cdd9e07522
|
VideoCommon: Add in/out qualifiers to centroid storage qualifier.
Fixes shaders for GPUs that don't support GL_ARB_shading_language_420pack.
|
2014-12-19 12:19:15 +01:00 |
|
Jules Blok
|
e7e8a4f1cb
|
GeometryShaderGen: Don't use the reserved keyword "point" in D3D.
|
2014-12-19 02:24:41 +01:00 |
|
Jules Blok
|
8dc3653ac9
|
VideoCommon: Don't pass structs between shader stages when geometry shaders are unsupported.
|
2014-12-18 00:37:16 +01:00 |
|
Jules Blok
|
1f84f4632d
|
OGL: Check OpenGL version for geometry shader support.
|
2014-12-18 00:37:16 +01:00 |
|
Jules Blok
|
93ce95b48e
|
D3D: Use ROUND_UP macro for rounding buffer sizes.
|
2014-12-18 00:37:15 +01:00 |
|
Jules Blok
|
69df23f725
|
VideoCommon: Only use interface blocks when geometry shaders are supported.
|
2014-12-18 00:37:14 +01:00 |
|
Jules Blok
|
1af3d8447a
|
GeometryShaderManager: Set the constants within the callbacks.
|
2014-12-18 00:37:09 +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
|
782a5adb94
|
VideoCommon: Pass interface blocks between shader stages to resolve naming conflicts.
|
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
|
f2e52b46c3
|
GeometryShaderGen: Cosmetics.
|
2014-12-18 00:36:47 +01:00 |
|
Jules Blok
|
2850c9a206
|
VertexManager: Disable culling for lines and points.
|
2014-12-18 00:36:47 +01:00 |
|
Jules Blok
|
0ac7103391
|
GeometryShaderGen: Pack uniforms more tightly.
|
2014-12-18 00:36:40 +01:00 |
|
Jules Blok
|
d115048615
|
GeometryShaderGen: Remove redundant declaration.
|
2014-12-15 23:20:56 +01:00 |
|
Jules Blok
|
16af00d515
|
GeometryShaderGen: Use signed integers for the texture offset flags.
|
2014-12-15 23:05:16 +01:00 |
|
Jules Blok
|
861fa1af23
|
GeometryShaderGen: Declare a prototype for EmitVertex().
|
2014-12-15 22:47:43 +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
|
275af9c5e4
|
VideoCommon: Assume we always use a geometry shader, not just for stereoscopy.
|
2014-12-15 22:47:41 +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
|
887c669c28
|
GeometryShaderGen: Redefine gl_InvocationID so we can use the same variable name in both backends.
|
2014-12-15 22:47:40 +01:00 |
|
Jules Blok
|
332ba4b210
|
GeometryShaderManager: Upload Line/Point width constants.
|
2014-12-15 22:47:35 +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
|
cec5b0ce01
|
ShaderGen: Remove the GS_OUTPUT struct for OpenGL.
And remove the generator for it since it is no longer used outside of the geometry shader.
|
2014-12-14 13:28:50 +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
|
ea2bcb44f0
|
Cosmetics
|
2014-12-14 13:28:48 +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
|
b769da23d0
|
PixelShaderGen: Sample the correct texture slice.
|
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 |
|