Commit Graph
9567 Commits
Author SHA1 Message Date
Henrik RydgårdandGitHub 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årdandGitHub 22c066515e Merge pull request #11425 from xebra/refactor_spline_bezier
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Henrik RydgårdandGitHub 6eb4c141a6 Merge pull request #11510 from unknownbrackets/scissor
GLES: Correct invalid scissor handling
2018-11-02 11:09:05 +01:00
Henrik RydgårdandGitHub 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