Jules Blok
a2e191649d
Merge pull request #4471 from Armada651/hybrid-depth
...
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-29 18:49:27 +01:00
Jules Blok
ee7a2edf35
Update comments
2016-12-27 21:32:52 +01:00
Jules Blok
65b5765858
VideoBackends: Clamp the range to the maximum depth value supported in the z buffer.
2016-12-27 20:25:40 +01:00
Jules Blok
2ab6711f43
VideoBackends: Use the full depth range when inverted depth range is unsupported.
2016-12-27 14:31:17 +01:00
Jules Blok
ef82aebb97
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-27 14:31:17 +01:00
Jules Blok
017ab71fcf
Merge pull request #4451 from stenzek/vulkan-poke
...
Vulkan: Fix crash on EFB poke
2016-11-14 14:14:45 +01:00
Jules Blok
99de9fbe33
Merge pull request #4443 from Armada651/exclusive-ui
...
D3D: Move exclusive mode switching to UI thread.
2016-11-14 01:45:07 +01:00
Jules Blok
7e35a47b51
Cosmetics.
2016-11-13 22:17:40 +01:00
Jules Blok
aa0e4472c0
Frame: Move exclusive mode switching to helper function.
2016-11-11 21:24:08 +01:00
Jules Blok
aab6b70868
MainAndroid: Remove obsolete Host_RequestFullscreen() function
2016-11-11 20:48:19 +01:00
Jules Blok
d8201a7e8b
Frame: Remove exclusive mode OSD messages.
2016-11-11 20:36:11 +01:00
Jules Blok
d7cf5e28b6
Frame: Use PauseAndLock when switching fullscreen modes.
...
This allows us to regain exclusive mode directly from OnActive().
2016-11-11 20:36:10 +01:00
Jules Blok
9909babe2c
D3DBase: Create the swapchain in fullscreen mode if enabled.
2016-11-11 20:36:10 +01:00
Jules Blok
0028ee96b3
Host: Remove the Host_RequestFullscreen() method.
...
No longer needed, since the exclusive mode switch is now handled synchronously on the CPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok
0a194f8a3e
VideoConfig: Remove fullscreen flags.
...
These weren't actually settings, they were used as a bad way to communicate with the GPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok
c21efa0cad
D3D: Move exclusive mode switching to UI thread.
...
This prevents deadlocks when switching to exclusive mode.
And it also allows the CPU thread to block until we've completed the switch.
2016-11-11 20:36:04 +01:00
Jules Blok
f0ce3275af
Merge pull request #4439 from Armada651/yield-ui
...
CPU: Fix deadlocks by periodically yielding to the UI message pump.
2016-11-11 20:30:31 +01:00
Jules Blok
20d49ba97f
DolphinQt2: Implement Host_YieldToUI().
2016-11-11 13:42:18 +01:00
Jules Blok
05a3f927ee
CPU: Fix deadlocks by periodically yielding to the UI message pump.
2016-11-11 13:37:03 +01:00
Jules Blok
8203ea929b
BlockingLoop: Yield to UI message pump while waiting.
2016-11-11 13:37:02 +01:00
Jules Blok
03878a44e1
Merge pull request #4433 from Armada651/the-emu-that-runs-faster-than-its-race-condition
...
FrameTools: Avoid deadlock in UpdateGUI().
2016-11-10 16:50:13 +01:00
Jules Blok
de50fead5c
FrameTools: Avoid deadlock in UpdateGUI().
2016-11-09 01:45:30 +01:00
Jules Blok
49ac577ac0
Merge pull request #4388 from ligfx/portaudio_static
...
CMake: build PortAudio as static library
2016-11-01 18:32:12 +01:00
Jules Blok
6501814792
Merge pull request #4413 from Armada651/readable-driver-details
...
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:49:16 +01:00
Jules Blok
2058a49465
PixelShaderGen: Remove unused global variable.
2016-10-31 15:02:08 +01:00
Jules Blok
086f839435
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:02:08 +01:00
Jules Blok
d0e60492cf
PixelShaderGen: Don't use a global variable.
2016-10-30 00:48:02 +02:00
Jules Blok
d778400133
DriverDetails: Add OS X to the dual-source blending bug.
2016-10-30 00:47:02 +02:00
Jules Blok
ce9f717045
OGL: Fall back to the old dual-source blending behaviour.
2016-10-29 18:00:22 +02:00
Jules Blok
476cf3803d
Merge pull request #4393 from Armada651/amd-dual-src
...
DriverDetails: Disable dual-source blending on AMD OGL drivers.
2016-10-28 13:31:03 +02:00
Jules Blok
afe707bc18
DriverDetails: Disable dual-source blending on AMD OGL drivers.
2016-10-27 22:03:25 +02:00
Jules Blok
9e21ac8607
Merge pull request #4360 from VinDuv/fix-shader-compile
...
VideoCommon: Fix GetInterpolationQualifier calls
2016-10-25 11:53:20 +02:00
Jules Blok
122ce96ed1
PixelShaderGen: Don't use dual source blend if unsupported.
2016-10-24 00:11:55 +02:00
Jules Blok
584bfec48d
Merge pull request #4378 from Armada651/fix-implicit-conv
...
PixelShaderGen: Fix implicit type conversions.
2016-10-23 17:58:23 +00:00
Jules Blok
5c406b5ef0
PixelShaderGen: Fix implicit type conversions.
2016-10-23 19:54:28 +02:00
Jules Blok
2536e37ec5
Merge pull request #4194 from Armada651/efb-source-format
...
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-21 21:45:29 +00:00
Jules Blok
ab5054c34e
VideoBackends: Always enable dual-source blending if supported.
2016-10-10 17:32:51 +02:00
Jules Blok
93109df654
PixelShaderGen: Use dual source blending to do 8-bit blending.
2016-10-10 15:34:55 +02:00
Jules Blok
d61ae5a88a
PixelShaderGen: Only set dither uid bit if actually used.
2016-10-10 14:32:21 +02:00
Jules Blok
23d9d91411
VideoConfigDiag: True color means 24-bit, not hw color.
2016-10-10 14:32:21 +02:00
Jules Blok
e8cddae132
VideoConfig: Turn on ForceTrueColor by default.
2016-10-10 14:31:53 +02:00
Jules Blok
365e88e311
VideoConfig: Add an option to force RGB8 EFB format.
2016-10-10 14:31:53 +02:00
Jules Blok
31a4ee7bfc
PixelShaderGen: Always truncate the alpha channel to 6-bit.
2016-10-10 14:30:14 +02:00
Jules Blok
9bc466a443
PixelShaderGen: Add support for dithering.
2016-10-10 14:30:14 +02:00
Jules Blok
b958457e51
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-10 14:27:30 +02:00
Jules Blok
da43f9a156
PixelShaderGen: Always divide the texture coordinates by q.
...
Some games will set q to a different value than 1.0 through
texture matrix manipulations. It seems the console will still
do the division in that case.
2016-09-07 21:13:16 +02:00
Jules Blok
d072d6d336
Merge pull request #4170 from Armada651/float-abs
...
VertexShaderManager: Explicitly use floating-point variant of abs.
2016-09-01 19:03:03 +02:00
Jules Blok
9fb6f93ca1
PixelEngine: Add missing static specifier for s_token_finish_mutex.
2016-09-01 17:28:48 +02:00
Jules Blok
376cadb862
VertexShaderManager: Explicitly use floating-point variant of abs.
...
Some compilers don't have an automatic abs() overload for floats.
Doesn't really matter if they use the integer variant here, but
it's better to be explicit about the fact that we're using floats.
2016-09-01 17:23:07 +02:00
Jules Blok
73b05b339b
DVDInterface: Remove unused Triforce buffer.
2016-09-01 17:15:43 +02:00
Jules Blok
50984d85b0
Merge pull request #4164 from Armada651/sonic-clipping
...
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
2016-09-01 15:28:09 +02:00
Jules Blok
15a009706d
Merge pull request #4143 from Pringo/capitalize
...
Fix Graphics Settings Capitalization
2016-09-01 03:21:24 +02:00
Jules Blok
2ab9e5e610
Merge pull request #4165 from lioncash/global
...
Backends: Remove unnecessary references to the renderer global
2016-09-01 03:20:31 +02:00
Jules Blok
9a660fdf18
Merge pull request #3707 from OrN/proj_stq-zz
...
Fix bug with texture coordinate q value being 0
2016-09-01 01:41:03 +02:00
Jules Blok
debaf63fe8
VertexShaderGen: Move the sonic epsilon hack to the vertex shader.
...
In the vertex shader we have control over the depth clipping planes,
so we don't have to offset every floating point value and lose accuracy.
2016-09-01 01:14:14 +02:00
Jules Blok
9c51b2748b
Merge pull request #4158 from Armada651/null-texture
...
TextureCacheBase: Handle textures loaded from address 0x0.
2016-08-30 16:49:34 +02:00
Jules Blok
92920c4005
TextureCacheBase: Address 0x0 is valid, don't you dare ignore it.
2016-08-30 16:45:49 +02:00
Jules Blok
916bfdedbf
Merge pull request #4147 from Armada651/accurate-depth
...
GameSettings: Remove forced slow depth from fixed titles.
2016-08-28 01:59:31 +02:00
Jules Blok
35a270d2a8
TextureConversionShader: Don't use the float specifier in shader code.
2016-08-24 17:42:32 +02:00
Jules Blok
6c82469662
GameSettings: Remove forced slow depth from fixed titles.
2016-08-24 17:39:47 +02:00
Jules Blok
8170092364
Merge pull request #4139 from Armada651/dbz-depth
...
OGL: Handle cases where reversed depth is already used.
2016-08-23 16:23:58 +02:00
Jules Blok
f7987017a0
PixelShaderManager: Use signed integers for the depth range parameters.
2016-08-23 15:54:05 +02:00
Jules Blok
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
Jules Blok
65472260d8
D3D: Correctly invert the viewport depth range.
2016-08-23 09:57:11 +02:00
Jules Blok
40f4308dc2
Merge pull request #4085 from Armada651/vertex-depth
...
VideoCommon: Implement depth range equation in vertex shader.
2016-08-19 02:11:37 +02:00
Jules Blok
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
Jules Blok
7078216b61
Improve documentation.
2016-08-16 21:09:58 +02:00
Jules Blok
8c1c7fc2da
Cosmetics.
2016-08-15 13:11:30 +02:00
Jules Blok
959d1879e5
VertexShaderGen: Fix far clipping.
...
We should only check whether z > 0, we don't care about w.
2016-08-15 13:11:29 +02:00
Jules Blok
afa251af42
DriverDetails: Add bug for broken gl_ClipDistance on i965.
2016-08-15 13:11:28 +02:00
Jules Blok
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00
Jules Blok
6e2052fae6
OGL: Disable clip distance on when not in a game-like state.
2016-08-15 13:11:27 +02:00
Jules Blok
9596ec8971
GeometryShaderGen: Pass-through clipping distance.
2016-08-15 13:11:27 +02:00
Jules Blok
a141e91dd2
OGL: Check for GL_DEPTH_CLAMP support.
...
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.
Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok
4582853af4
VertexShaderGen: Use reversed depth range.
2016-08-15 13:11:26 +02:00
Jules Blok
e9e81ece65
VideoBackends: Enable depth clamping.
2016-08-15 13:11:25 +02:00
Jules Blok
b1ed7e80fb
VertexShaderGen: Clip z using user-defined clipping planes.
2016-08-15 13:11:25 +02:00
Jules Blok
159247f4ad
VertexShaderGen: Clamp to the console depth range.
...
This fixes the Mii Channel among others.
2016-08-15 13:11:24 +02:00
Jules Blok
92aa7669b5
VertexShaderManager: Use a more accurate depth range.
...
This fixes the gxtest_depth hwtest.
2016-08-15 13:11:24 +02:00
Jules Blok
c223bd47b9
VideoCommon: Implement depth range equation in vertex shader.
2016-08-15 13:11:23 +02:00
Jules Blok
8a21b082d6
Merge pull request #3745 from stenzek/d3d11-texcache
...
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
2016-04-24 11:47:32 +02:00
Jules Blok
6d1628eda4
Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
...
This reverts commit e2a1a085b6 , reversing
changes made to 2aea549eef .
2016-02-29 00:55:51 +01:00
Jules Blok
54c2800bb4
Merge pull request #3674 from RisingFog/weeaboo_ini
...
Force Slow Depth on Suzumiya Haruhi no Heiretsu
2016-02-26 21:41:55 +01:00
Jules Blok
e2a1a085b6
Merge pull request #3578 from Armada651/forced-slow-depth
...
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
2016-02-22 11:29:09 +01:00
Jules Blok
2aea549eef
Merge pull request #3664 from stenzek/d3d-z24-encoder
...
TextureConversionShader: Invert depth for Z24 encoder with D3D
2016-02-21 16:01:55 +01:00
Jules Blok
e4ef018706
GameSettings: Remove FastDepthCalc entries.
...
Only Mini Ninjas and DKC currently have a known issues that require slow depth.
2016-02-08 12:26:57 +01:00
Jules Blok
fb2f8e49bb
Android: Remove FastDepthCalc option.
2016-02-08 12:26:56 +01:00
Jules Blok
9805f70913
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
...
Fast depth is now more accurate than slow depth and should always be used.
The option will be kept in a different form as it is still used as a hack to fix some games.
Also, the slow depth code path will still be relied upon by cards that don't support GL_ARB_clip_control.
2016-02-08 12:26:55 +01:00
Jules Blok
51a36f27e0
Merge pull request #3448 from Armada651/depth-epsilon
...
VertexShaderManager: Add an epsilon hack to the perspective projection.
2016-01-18 20:56:18 +01:00
Jules Blok
48b60649af
Merge pull request #3495 from Armada651/d3d-float
...
D3D: Use a 32-bit floating point depth buffer.
2016-01-14 00:39:23 +01:00
Jules Blok
d54291f2e8
Merge pull request #3506 from stenzek/odd-mips
...
TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
2016-01-13 23:10:18 +01:00
Jules Blok
55cb6675cc
IniFile: Initialize with default value if key does not exist.
2016-01-13 22:51:53 +01:00
Jules Blok
a307883069
Merge pull request #3505 from Armada651/invert-conversion
...
TextureConversionShader: Also invert color encoders if they're used to encode depth.
2016-01-13 12:58:44 +01:00
Jules Blok
daabd88d69
TextureConversionShader: Also invert color encoders if they're used to encode depth.
2016-01-13 01:08:27 +01:00
Jules Blok
8158d291aa
D3D: Use the full depth range for Z pokes.
2016-01-11 22:27:41 +01:00
Jules Blok
129975233f
D3D: Use a 32-bit floating point depth buffer.
2016-01-11 22:27:40 +01:00
Jules Blok
b56a084b0b
Merge pull request #3470 from Armada651/stereo-msaa
...
FrameBufferManager: Fix typo in stereoscopic MSAA shader.
2016-01-07 20:15:06 +01:00
Jules Blok
db551c55a2
FrameBufferManager: Fix typo in stereoscopic MSAA shader.
2016-01-07 20:05:12 +01:00
Jules Blok
1e111421e9
VideoConfig: Don't give warnings for per-game stereoscopy parameters.
2016-01-06 22:21:12 +01:00
Jules Blok
358e458a93
VertexShaderManager: Add an epsilon hack to the perspective projection.
2016-01-05 01:24:54 +01:00