Commit Graph
100 Commits
Author SHA1 Message Date
Jules Blok c15b0b8cfc Merge branch 'master' into stable 2015-06-10 13:08:12 +02:00
Jules Blok 7dfced21a2 Merge branch 'master' into stable 2015-06-10 00:00:12 +02:00
Jules Blok 97e3c5302d Merge pull request #2578 from Armada651/cmake-stable
Don't display the branch name in the titlebar for the stable branch.
2015-06-09 22:28:54 +02:00
Jules Blok 35aa676fe7 Decide whether Dolphin is stable based on the branch name. 2015-06-09 21:07:33 +02:00
Jules Blok d5788f75a3 Merge pull request #2533 from degasus/syncgpu
Fifo: Rewrite SyncGPU
2015-06-09 09:43:26 +02:00
Jules Blok 58f9b05e7e Merge pull request #2471 from degasus/lighting_attn
Lighting Attenuation
2015-06-09 00:16:02 +02:00
Jules Blok 75fef8e26f D3D: Implement Z pokes. 2015-06-07 15:33:30 +02:00
Jules Blok cfc23560d9 D3D: Set the viewport to the full target size when doing EFB pokes. 2015-06-07 13:32:00 +02:00
Jules Blok b0afb08170 Merge pull request #2541 from Armada651/revert-revert
Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
2015-06-07 00:26:01 +02:00
Jules Blok 026d07e7c9 D3D: Remove obsolete comment. 2015-06-06 23:26:52 +02:00
Jules Blok 37dc8661ab Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
This reverts commit 9ef1ca4141.
2015-06-06 20:10:23 +02:00
Jules Blok 8cc271516d Revert "Revert "OGL: Change the depth buffer type to GL_FLOAT.""
This reverts commit 05d60f4fef.
2015-06-06 20:09:22 +02:00
Jules Blok 5650b9e970 Revert "OGL: Use floating point arithmetic to scale the depth value."
This reverts commit 05f42f94a0.
2015-06-06 20:07:49 +02:00
Jules Blok f9b5571ddd Merge pull request #2534 from Armada651/depth-clamp
VideoBackends: Allow the viewport to use the full depth range.
2015-06-06 12:32:56 +02:00
Jules Blok ef1dfa8bcb VideoBackends: Allow the viewport to use the full depth range. 2015-06-06 03:37:46 +02:00
Jules Blok 0b61a0dfc5 Merge pull request #2448 from Armada651/depth-inversion
D3D: Depth range inversion.
2015-05-26 15:39:50 +02:00
Jules Blok ca7801da44 D3D: Invert initial depth buffer clear. 2015-05-26 15:31:36 +02:00
Jules Blok e31982474c OGL: Depth range inversion. 2015-05-22 23:52:22 +02:00
Jules Blok 88cc91030e VertexShaderGen: Use correct depth output when glClipControl is supported. 2015-05-22 23:52:21 +02:00
Jules Blok 522e721830 OGL: Add glClipControl support. 2015-05-22 23:52:20 +02:00
Jules Blok 05f42f94a0 OGL: Use floating point arithmetic to scale the depth value. 2015-05-20 14:22:30 +02:00
Jules Blok 05d60f4fef Revert "OGL: Change the depth buffer type to GL_FLOAT."
This reverts commit 4b2e04b862.
2015-05-20 14:22:29 +02:00
Jules Blok 9ef1ca4141 Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format."
This reverts commit be810eb750.
2015-05-20 14:22:28 +02:00
Jules Blok ef78941042 VideoBackends: Clamp depth to uint24 range. 2015-05-18 23:22:28 +02:00
Jules Blok f7151a2a5c Revert "D3D: Use a 32-bit floating point depth buffer."
This reverts commit a224c604a3.
2015-05-16 22:16:31 +02:00
Jules Blok 1d745d632a PixelShaderGen: Clamp zCoord to the depth range. 2015-05-08 14:43:43 +02:00
Jules Blok d04af15ad4 TextureConversionShader: Use floating point values in clamp(). 2015-05-08 14:32:24 +02:00
Jules Blok 5dbb43ae1d PixelShaderGen: Use new multiplier everywhere and directly cast to int instead or rounding. 2015-05-08 14:32:23 +02:00
Jules Blok a224c604a3 D3D: Use a 32-bit floating point depth buffer. 2015-05-08 14:32:22 +02:00
Jules Blok 84a5f4abb0 VideoBackends: Use the new divisor when clearing the depth buffer. 2015-05-08 14:32:22 +02:00
Jules Blok 1a409a2e16 VideoBackends: Clamp Z peek values. 2015-05-08 14:32:21 +02:00
Jules Blok 0f2c72f0f8 VideoCommon: Clamp integer conversions. 2015-05-08 14:32:16 +02:00
Jules Blok b0770e2a0c VideoBackends: Floor depth values in depth copy shaders. 2015-05-08 14:29:30 +02:00
Jules Blok be810eb750 OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format. 2015-05-08 14:29:30 +02:00
Jules Blok 4b2e04b862 OGL: Change the depth buffer type to GL_FLOAT. 2015-05-08 14:29:29 +02:00
Jules Blok c4f85a38e6 VideoBackends: Use proper floating point depth precision. 2015-05-08 14:29:29 +02:00
Jules Blok 24594a7888 PixelShaderCache: Fix MSAA depth copy shader. 2015-05-06 12:43:35 +02:00
Jules Blok 7a1252f7e5 VideoBackends: Implement depth copy shaders with integer math. 2015-05-05 00:40:25 +02:00
Jules Blok 54f4443971 VideoCommon: Implement EFB dumping for both backends. 2015-05-02 13:23:33 +02:00
Jules Blok bea3054c9c Base.props: Remove DXSDK_DIR from the include path.
By overriding the include directories we can ensure we only use the Windows SDK.
2015-04-13 21:44:40 +02:00
Jules Blok 728081dad2 ProgramShaderCache: Do plenty of error checking before writing shaders to the disk. 2015-03-02 17:03:49 +01:00
Jules Blok ff4127cf50 VertexShaderManager: Turn the epsilon hack back on for 3D Vision.
The bug is fixed in version 347.52 of the drivers.
2015-02-21 12:09:49 +01:00
Jules Blok 139ad3b2b9 TextureConversionShader: Use a Texture2DArray to match the shader resource view. 2015-02-21 11:50:20 +01:00
Jules Blok c180174e4a D3D: Use the correct format when resolving the EFB depth texture. 2015-02-21 11:50:19 +01:00
Jules Blok 8c55ec0d51 GeometryShaderGen: Perspective divide the line coordinates before comparing the angle. 2015-01-31 23:32:23 +01:00
Jules Blok 5c4ee2f71e PostProcessing: Move default pixel shader to PostProcessingShaderConfiguration.
Reduces code complexity and fixes a bug where the shader is not properly invalidated.
2015-01-25 23:08:49 +01:00
Jules Blok fc46d460f9 VideoConfigDiag: Allow anaglyph shader to be turned off.
Also hard-code the default shader.
2015-01-25 22:27:17 +01:00
Jules Blok 262c3b19ec PostProcessing: Add support for user-supplied anaglyph shaders.
There are lots of different anaglyph glasses out there and there may be even more creative uses for stereoscopic post-processing shaders.
2015-01-25 22:07:03 +01:00
Jules Blok f40cd04a29 PixelShaderGen: Fix uninitialized variables. 2015-01-20 23:15:01 +01:00
Jules Blok 332d5888eb VideoConfig: Add exclusive mode flag.
Allows the UI to easily check the current exclusive mode state.
This simplifies a few checks and prevents the user from ever getting stuck in fullscreen.
2015-01-19 22:55:21 +01:00
Jules Blok 8d69658a9d Add exclusive mode OSD messages. 2015-01-17 16:11:17 +01:00
Jules Blok b87fddb027 D3D: Allow borderless fullscreen to be turned on/off during gameplay. 2015-01-17 16:11:12 +01:00
Jules Blok 803bea5004 D3D: Fix Dolphin immediately exiting exclusive fullscreen. 2015-01-16 16:01:29 +01:00
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 6855c098f7 ISOProperties: Add stereoscopy per-game settings. 2015-01-02 19:57:32 +01:00
Jules Blok b816ee1f79 VideoConfig: Define a per-game minimum convergence value instead of a percentage boost. 2015-01-02 17:07:08 +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