Henrik Rydgård and GitHub
2c5922b0ad
Merge pull request #11530 from unknownbrackets/dxt
...
Make DXT alpha and color calculation more accurate
2018-11-04 18:51:54 +01:00
Unknown W. Brackets
bd294f658f
TexCache: Round DXT5 alpha up.
...
This isn't quite right, but it seems better than rounding down.
Experimented with a lower round up value, but none were right - the
weighting must be more complex.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
df200fc3d2
TexCache: In DXT3, don't swizzle alpha.
...
Hardware doesn't seem to.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
c31e01771e
TexCache: Respect color order in DXT3/5.
...
Hardware is still doing DXT1 style colors in this scenario.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
11ab4e8634
TexCache: Mix DXT colors using 2/3 not 3/8.
...
Hardware draws using 2/3. Adding this way matches rounding, too.
2018-11-04 09:36:39 -08:00
Unknown W. Brackets
35a1d8a1ef
TexCache: Decode DXT1 zero alpha as black.
...
Hardware tests show this is how it decodes, which is more like standard
DXT1 decoding.
2018-11-04 08:09:56 -08:00
Unknown W. Brackets
38eb9d12d0
TexCache: Don't swizzle DXT1 colors.
...
Hardware tests show that this shouldn't happen. May be important for
color tests, etc.
2018-11-04 08:09:13 -08:00
Henrik Rydgård and GitHub
22c066515e
Merge pull request #11425 from xebra/refactor_spline_bezier
...
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Henrik Rydgård and GitHub
6eb4c141a6
Merge pull request #11510 from unknownbrackets/scissor
...
GLES: Correct invalid scissor handling
2018-11-02 11:09:05 +01:00
Henrik Rydgård and GitHub
0134fc8739
Merge pull request #11513 from unknownbrackets/gpu-shutdown
...
Wait for orderly finish of cache before shutdown
2018-10-31 15:55:36 +01:00
Unknown W. Brackets
40ca49d0e3
GPU: Cancel shader preload on shutdown/lost.
...
Otherwise, we could've ended up with shaders loading after or during the
lost event, and dense hash map corruption.
2018-10-30 20:32:12 -07:00
Unknown W. Brackets
6130eb34be
Vulkan: Wait for GPU ready on shutdown.
...
In case it's still busy preloading shaders.
2018-10-30 19:13:22 -07:00
Unknown W. Brackets
29b5581416
GLES: Correct invalid scissor handling.
...
Also improves Direct3D 9. See #11444 .
Per hardware tests, we should correctly not draw in this case.
2018-10-28 15:56:02 -07:00
Henrik Rydgård
c6c22a03fd
Address feedback, thanks!
2018-10-28 16:48:46 +01:00
Henrik Rydgård
c074d3c61f
Improve sanity checks for framebuffer readbacks
2018-10-28 14:30:39 +01:00
Henrik Rydgård
fa40bcff8d
Disable triangle range culling on D3D9 on Intel. Should fix #11477
2018-10-21 09:36:15 +02:00
Henrik Rydgård
842290b6dd
Workaround for bad int behaviour on Adreno / GLES. (no problems in
...
Vulkan).
See #11480 , should help #11479 .
2018-10-20 13:22:14 +02:00
Unknown W. Brackets
ca5adcda71
GPU: Reduce log noise while stepping.
...
We redisplay the framebuf over and over, which is annoying when you have
debug logging on and are trying to read the log.
2018-10-07 14:40:10 -07:00
xebra
46d30d02cf
[spline/bezier]minor fix
2018-10-07 23:54:32 +09:00
xebra
eca9386c05
[spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer.
2018-10-07 23:54:31 +09:00
xebra
5f07213c25
[spline/bezier]minor fix
2018-10-07 23:54:30 +09:00
xebra
5f9022ae14
[spline/bezier]minor fix
2018-10-07 23:54:29 +09:00
xebra
405ead8d41
[spline/bezier]Get rid of duplication call of Flush().
2018-10-07 23:54:28 +09:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
1dfb402871
[spline/bezier]Remove comment.
2018-10-07 23:54:27 +09:00
xebra
10afcf2dbb
[spline/bezier]Improve basic spline/bezier structures.
2018-10-07 23:54:26 +09:00
xebra
8ad38dfaae
[spline/bezier]oops
2018-10-07 23:54:25 +09:00
xebra
c49d9e2f72
[spline/bezier]minor fix(referenced to c1f0e981).
2018-10-07 23:54:24 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
d98fa06b5f
[spline/bezier]Fix to build for Android(clang).
2018-10-07 23:54:21 +09:00
xebra
019e276798
[spline/bezier]Modify ControlPoints and fix VertexPreview.
2018-10-07 23:54:20 +09:00
xebra
1c604d5b60
[spline/bezier]Put the control points stuffs all in one structure.
2018-10-07 23:54:19 +09:00
xebra
66833513c0
[spline/bezier]Modify the weights cache variables to a template variable.
2018-10-07 23:54:18 +09:00
xebra
62aaf6336a
Math3D: Something wrong with hand simd optimization in vec2<float>, so it causes very slow down.
...
However, compiler optimization is faster enough, so removed it.
2018-10-07 23:54:17 +09:00
xebra
c4a8d80b61
[spline/bezier]Put the output buffers all in one structure.
2018-10-07 23:54:17 +09:00
xebra
a241058d7b
[spline/bezier]Improve TemplateParameterDispatcher class macro to a real class.
2018-10-07 23:54:16 +09:00
xebra
98ddefbd5a
[spline/bezier]Extract an if-check in the hot loops to the template parameter.
2018-10-07 23:54:15 +09:00
xebra
3216a83a92
[spline/bezier]Expand loops in the shaders.
2018-10-07 23:54:14 +09:00
xebra
8c279c0e25
[spline/bezier]Precalculate weights in the shaders using the outer product.
2018-10-07 23:54:13 +09:00
xebra
03b9492f08
[spline/bezier]Sharing textures to avoid heavily textures creation/deletion in one frame. At least, it occurs about 1000 and very slow down in Pursuit Force.
2018-10-07 23:54:12 +09:00
xebra
453e274fbe
[spline/bezier]Fix around vertex type flags.
2018-10-07 23:54:11 +09:00
xebra
d4a667397c
[spline/bezier]Improve shader uniforms a bit.
2018-10-07 23:54:10 +09:00
xebra
de5975f13e
[spline/bezier]Reduce multiplications in the shaders from 16 to 4.
2018-10-07 23:54:09 +09:00
xebra
103d180ae7
[spline/bezier]Get rid of wasted if-checks at Graphics Processors.
2018-10-07 23:54:08 +09:00
xebra
41d6c3cf3a
[spline/bezier]Move whole tessellation logic in the shaders into a subroutine.
2018-10-07 23:54:08 +09:00
xebra
3d07bca010
[spline/bezier]Fix spline weights calculation and get rid of using next patch position in hwtess.
...
# Conflicts:
# GPU/Directx9/VertexShaderGeneratorDX9.cpp
# GPU/GLES/VertexShaderGeneratorGLES.cpp
# GPU/Vulkan/VertexShaderGeneratorVulkan.cpp
2018-10-07 23:54:07 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
e5976f588b
[spline/bezier]Unify software tessellation of bezier and spline.
...
# Conflicts:
# GPU/Common/SplineCommon.cpp
2018-10-07 23:54:03 +09:00