Commit graph

723 commits

Author SHA1 Message Date
Henrik Rydgård
03175b74ef
Merge pull request #10957 from unknownbrackets/depal-bounds2
GPU: Dirty tex when clearing or rendering to self
2018-06-06 22:22:01 +02:00
Unknown W. Brackets
8f354e5312 GPU: Minor framebuffer code cleanup. 2018-06-06 05:56:30 -07:00
Unknown W. Brackets
2606365ba4 GPU: Use software transform for flat shading.
Except on GLES where it works fine with the default provoking index.

This fixes #10969 so that it works everywhere.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
dca159c47e GPU: Correct sw flat shading color on Vulkan/D3D.
It was only correct on GLES before.  This only fixes software transform.
2018-06-06 05:53:50 -07:00
Unknown W. Brackets
61fc1cdcfb GPU: Dirty tex when clearing or rendering to self.
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Henrik Rydgård
c1d113e0e9 When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
Or maybe we should make sure to only download within the width/height by
adding more clamps at the beginning of ReadFramebufferToMemory but seems
more dangerous.

Plus some minor things.

Should help #11113
2018-06-01 21:16:07 +02:00
Unknown W. Brackets
abbab23814 D3D11: Use a dedicated slot for the depal texture.
Otherwise it affects shader blending.
2018-05-06 08:58:54 -07:00
Unknown W. Brackets
8d07e6d985 GPU: Prevent temp FBOs from overwriting each other.
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.)  This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07:00
Unknown W. Brackets
3eb0450998 Depal: Reapply texture when bounds change.
Since we need each slice of the texture when we use bounds to reduce the
size.  Fixes #10951.
2018-04-22 10:43:46 -07:00
Henrik Rydgård
36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård
8953d7ff73 Revert "Comment fixes, reindentation."
This reverts commit 6fa9fcefb2.
2018-04-10 12:14:23 +02:00
Henrik Rydgård
6a90b8fbb4 Revert "Further cleanup after the removal of hardware skinning."
This reverts commit f086a0915f.

Increment the shader cache version. Restore some more.
2018-04-10 11:38:02 +02:00
Henrik Rydgård
69309aa400 Revert "Remove some remains of software skinning"
This reverts commit 2d33d526b8.
2018-04-10 11:21:56 +02:00
Henrik Rydgård
f967e206b8 Remove the last remains of the idea that textures can be efficiently updated instead of recreated. Accidentally fixes #10697 somehow.
Also this is good for terminology, no more confusion with the texture
replacement facility :)
2018-03-25 10:50:37 +02:00
aliaspider
15c4406df7 add missing inclues. 2018-03-22 22:14:19 +01:00
Henrik Rydgård
1bb7be489f Remove some unused tracking of whether lighting is used by a shader 2018-03-17 10:33:50 +01:00
Henrik Rydgård
2d33d526b8 Remove some remains of software skinning 2018-03-16 20:38:05 +01:00
Henrik Rydgård
7a8310ae5e Tiny unification of code. Save the GL shader cache a bit less often. 2018-03-13 13:35:58 +01:00
Henrik Rydgård
f086a0915f Further cleanup after the removal of hardware skinning. 2018-03-05 00:03:47 +01:00
Henrik Rydgård
6fa9fcefb2 Comment fixes, reindentation. 2018-03-05 00:03:47 +01:00
Henrik Rydgård
40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Henrik Rydgård
c7dcb7c365 D3D9/D3D11: Fix GPU feature detection. Enforce accurate depth on nVidia as well, they no longer seem to support reverse depth so it's needed as a workaround. Fixes #10655 2018-03-01 09:38:06 +01:00
Henrik Rydgård
64ec46e705 Unify FramebufferDirty()/FramebufferReallyDirty() for the hw backends 2018-02-26 11:58:17 +01:00
Henrik Rydgård
78467d6092 Unify FastRunLoop for the hardware backends. 2018-02-26 11:52:16 +01:00
Henrik Rydgård
6a2f45c2e1 Unify UpdateCmdInfo 2018-02-26 11:48:56 +01:00
Henrik Rydgård
8cef1f0f8d GPU: Unify command table (cmdInfo_) 2018-02-26 11:44:02 +01:00
Henrik Rydgård
a8a34fef9c Virtualize CheckGPUFeatures 2018-02-26 11:35:37 +01:00
Henrik Rydgård
feb4694acc Unify DispatchSubmitPrim as much as possible 2018-02-26 11:33:17 +01:00
Henrik Rydgård
967018b7f8 Unify Execute_LoadClut 2018-02-26 11:32:02 +01:00
Henrik Rydgård
c7f8f4c5ca Unify Execute_Prim 2018-02-26 11:22:27 +01:00
Henrik Rydgård
23980065ba Unify all the DrawEngine::SubmitPrim 2018-02-26 11:07:30 +01:00
Unknown W. Brackets
4b8d8c875d Qt: Remove old texture debug API.
No one's testing it and it's not the best way.  We have a better
implemented API and should use it instead.
2018-02-19 09:09:35 -08:00
Henrik Rydgård
86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Unknown W. Brackets
22f65500f1 GPU: Fix shader blending recopying.
This at least didn't look horrible like GLEs did, but still looked
odd in Lunar.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
b566b6cca2 D3D11: Remove potentially misleading rebind func.
This doesn't override the GPUCommon one, it just shares the same name,
which might lead to confusion later.  Better not to use the parent.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
db0989a9d0 Debugger: Fix texture preview in GLES.
Also, fix issues with the first view of a texture in Vulkan / D3D11.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f3282dcfda Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
d565e23f4c Stencil copy: Avoid clearing the depth buffer. 2017-12-31 01:06:31 +01:00
Henrik Rydgård
b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Unknown W. Brackets
0151c5e649 GPU: Track stats on uploads.
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Henrik Rydgård
c1a23658d1
Merge pull request #10456 from unknownbrackets/gpu-flips
Display: Avoid limiting FPS without a clear
2017-12-27 10:14:12 +01:00
Unknown W. Brackets
f9750dd137 Display: Avoid limiting FPS without a clear.
A bit of a dirty heuristic to avoid the slowdown in #8538.
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
d6da758ed3 GPU: Remove duplicate BACKEND constants. 2017-12-26 15:55:24 -08:00
Unknown W. Brackets
0956fa3ff6 GPU: Reduce depth blits when not updated.
If the game initially clears the depth in a buffer, but then never uses
that depth again, don't keep blitting depth.

Improves #8538, by preventing the depth blits in this case.
2017-12-24 11:52:15 -08:00
Henrik Rydgård
dc6a4ea753 Fix annoying name clashes (Status is in X11 headers..) 2017-12-15 16:34:29 +01:00
Unknown W. Brackets
cd2dfd5c9a UI: Show a few more flags in build config. 2017-12-10 09:00:51 -08:00
Henrik Rydgård
b75c8b72c6 Fix another little inconsistency (two uniforms were merged for bad reasons) 2017-12-07 21:39:09 +01:00
Henrik Rydgård
fb74c9dfeb Clean up a small inconsistency 2017-12-07 21:09:09 +01:00
Unknown W. Brackets
0dee041002 D3D11: Change state caches to DenseHashMaps. 2017-12-02 18:55:02 -08:00
Unknown W. Brackets
243304a5e8 Hashmaps: Fix missing maintain calls in non-GLES.
Should only matter if vertex cache is enabled.
2017-12-02 18:27:18 -08:00