bac8c2d441
Vulkan: Work around indexed fragment output bug on AMD drivers
2016-10-01 02:40:02 +10:00
77a128ab87
Implement experimental Vulkan backend
2016-10-01 02:40:01 +10:00
828aac7890
VideoBackends: Make TextureCache::CompileShaders return a bool
2016-10-01 01:09:12 +10:00
6a99cbd9fc
VideoCommon: Call Renderer::SurfaceChanged on render parent resize
...
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
5346078791
VideoCommon: Add config fields for multithreading and validation layers
2016-10-01 01:09:12 +10:00
09638e714e
VideoCommon: Extend DriverDetails to support both OpenGL and Vulkan
2016-10-01 01:09:12 +10:00
a71381e80a
VideoCommon: Add APIType entry for Vulkan
2016-10-01 01:09:11 +10:00
75e4e42e56
ShaderGen: Work around issue with glslang and dynamic vector subscripts
...
Seems that vec[eye] will select vec.x no matter what the value of eye is.
2016-10-01 01:09:11 +10:00
7f3a876aae
ShaderGen: posmtx should be a 4-component unsigned byte
...
This is a global change across backends, so should be tested for
regressions.
2016-10-01 01:09:11 +10:00
d9c034e8cc
ShaderGen: Specify attribute/output locations/bindings explicitly
...
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
3696c2b022
Merge pull request #4210 from degasus/arm
...
JitArm64: Small cleanup + speedups.
2016-09-27 18:45:14 +02:00
9525a9e048
Merge pull request #3490 from degasus/singlecore
...
Fifo: Use SyncGPU timings for single core.
2016-09-27 10:33:47 +02:00
732e0ff03a
VertexLoaderArm64: Mark register allocation as static const.
2016-09-26 22:19:07 +02:00
258f48572d
VertexLoaderJit: Fix out-of-bounds access for zfreeze.
...
This fixes a GCC6.1 warning.
2016-09-17 16:47:12 +02:00
735da0ed69
Fifo: Use SyncGPU timings for single core.
2016-09-17 16:25:13 +02:00
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
69eed56256
Fix recursive code
2016-09-06 22:45:50 -04:00
0119f1302f
Merge pull request #4177 from phire/useless_cases
...
BPStructs: remove case statements which never match.
2016-09-06 00:56:09 +12:00
a665743b70
BPStructs: remove case statments which never match.
...
Visual Studio's code analyzer complains about these.
2016-09-06 00:40:49 +12:00
aa16282516
Core: Change CoreTiming event key from int to EventType*
...
Replace 'int' keys with something that carries type information.
Performance is neutral.
2016-09-03 14:55:44 +10:00
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
9fb6f93ca1
PixelEngine: Add missing static specifier for s_token_finish_mutex
.
2016-09-01 17:28:48 +02:00
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
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
e0d4dc6fed
VertexShaderGen: Fix D3D X3014 compile error
...
float2 requires 2 parameters in HLSL apparently.
2016-09-01 14:43:19 +10:00
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
94cbe0c12a
Comments
2016-08-31 06:40:50 -05:00
5a6b876dbd
Hardware renderer fix
2016-08-30 18:33:23 -05:00
92920c4005
TextureCacheBase: Address 0x0 is valid, don't you dare ignore it.
2016-08-30 16:45:49 +02:00
df0f7657d0
Fix frame dump issues where frame dumping stops before next drawn frame
2016-08-24 13:00:25 -04:00
35a270d2a8
TextureConversionShader: Don't use the float specifier in shader code.
2016-08-24 17:42:32 +02:00
f7987017a0
PixelShaderManager: Use signed integers for the depth range parameters.
2016-08-23 15:54:05 +02:00
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
52af0770c3
Merge pull request #4141 from lioncash/vtx
...
VertexManagerBase: Get rid of static state
2016-08-23 07:33:25 +02:00
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
10d20d47aa
Merge pull request #4132 from lioncash/enum-fifo
...
Fifo: Make SyncGPUReason an enum class
2016-08-22 16:49:40 +02:00
1392efa91d
VertexManagerBase: Get rid of static behavior
2016-08-21 23:30:38 -04:00
31c530c7b3
Merge pull request #3386 from lioncash/memory
...
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
5635d4b709
Fifo: Make SyncGPUReason an enum class
2016-08-18 22:35:58 -04:00
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
7078216b61
Improve documentation.
2016-08-16 21:09:58 +02:00
8c1c7fc2da
Cosmetics.
2016-08-15 13:11:30 +02:00
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
afa251af42
DriverDetails: Add bug for broken gl_ClipDistance on i965.
2016-08-15 13:11:28 +02:00
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00
9596ec8971
GeometryShaderGen: Pass-through clipping distance.
2016-08-15 13:11:27 +02:00
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
4582853af4
VertexShaderGen: Use reversed depth range.
2016-08-15 13:11:26 +02:00
e9e81ece65
VideoBackends: Enable depth clamping.
2016-08-15 13:11:25 +02:00
b1ed7e80fb
VertexShaderGen: Clip z using user-defined clipping planes.
2016-08-15 13:11:25 +02:00