Commit graph

5529 commits

Author SHA1 Message Date
Unknown W. Brackets
6cba46bd62 GE Debugger: Fix handling for framebuf changes. 2018-11-17 08:56:32 -08:00
Unknown W. Brackets
d245e002c7 GE Debugger: Record block transfer too. 2018-11-17 08:55:54 -08:00
xebra
04708fe88a [spline/bezier]Unify SubmitSpline/Bezier. 2018-11-13 18:22:34 +09:00
Henrik Rydgård
32cd6dfae6 Take care of most cases of render-to-virtual-readback-buffer, I think. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
6269d9b893 Support virtual readbacks for detected-memcpy framebuffer copies, delete MotoGP hack. 2018-11-12 08:20:28 +01:00
Henrik Rydgård
7abbc1bebd Add compat flag to allow virtual framebuffer readbacks (auto-create fb from readback destination). Does not yet work outside VRAM but should fix Digimon Adventure. 2018-11-12 08:20:27 +01:00
Henrik Rydgård
cf653b7631 No need for fb_normalized_address 2018-11-12 08:19:20 +01:00
Henrik Rydgård
b17fc67c45 Get rid of MaskedEqual 2018-11-12 08:19:19 +01:00
Henrik Rydgård
15f2e48887 Only mask away Z mirrors if inside VRAM 2018-11-12 08:19:19 +01:00
Henrik Rydgård
d8f4a70396 Remove constraint that virtual framebuffers have to represent VRAM.
Prerequisite for #11531, virtual readbacks.
2018-11-12 08:19:14 +01:00
Henrik Rydgård
9c6f7000b7 New spline stuff seems to need bigger storage buffer pools 2018-11-11 22:52:37 +01:00
Unknown W. Brackets
4996084665 GPU: Dirty frag shader on depth write.
We use this flag to determine whether we use discard, so it changes shader
ids.  Fixes the layering part of #11535.
2018-11-06 21:16:51 -08:00
Henrik Rydgård
67d6e3d384 Framebuffer blit: Clip src rectangle as well 2018-11-05 00:34:04 +01:00
Henrik Rydgård
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
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
6eb4c141a6
Merge pull request #11510 from unknownbrackets/scissor
GLES: Correct invalid scissor handling
2018-11-02 11:09:05 +01:00
Henrik Rydgård
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