Henrik Rydgård
8ba665e258
More unification work
2023-02-25 16:12:24 +01:00
Henrik Rydgård
c74f5b2189
Prepare for unifying more stuff
2023-02-25 16:01:32 +01:00
Henrik Rydgård
e136ad795a
Some slight unification
2023-02-25 15:15:34 +01:00
Henrik Rydgård
b6846646af
Remove some uses of gfxCtx_
2023-02-25 15:15:34 +01:00
Henrik Rydgård
285ffbaa52
Unify CopyDisplayToOutput
2023-02-25 14:42:15 +01:00
Henrik Rydgård
18999c3687
Create the GPUCommonHW class.
2023-02-25 14:42:10 +01:00
Henrik Rydgård
0d57f3beee
Unify GPUCommon::DoState.
2023-02-25 12:21:03 +01:00
Henrik Rydgård
609a8f6d36
Unify ExecuteOp between the accelerated backends
2023-02-25 12:21:03 +01:00
Henrik Rydgård
ed03348c65
Unify PreExecuteOp, keep the soft GPU as a special case
2023-02-25 12:21:03 +01:00
Henrik Rydgård
da561aa9de
Unify CheckFlushOp
2023-02-25 12:21:03 +01:00
Henrik Rydgård
30120560ab
Include file cleanup in framebuffer managers
2023-02-25 12:21:00 +01:00
Henrik Rydgård
49e5460c9c
Remove count parameter from SetViewports. No use foreseen.
2023-02-25 07:12:53 +01:00
Henrik Rydgård
1b5148bb6c
Remove kinda-duplicate function.
2023-02-24 23:54:04 +01:00
Henrik Rydgård
d426ce5118
Clear depth buffers after changing depth rounding mode.
...
And thus change of depth buffer scale/offset.
Previously, old depth buffers with values that now are out of range
could stick around, causing #16941 . This clears them to the expected 0
value, which helps Outrun. Ideally we should convert depth buffers to
the new format, but if we can get away without that, that's also nice.
This is enough for #16941 .
2023-02-10 10:03:14 +01:00
Henrik Rydgård
1b4018d19a
Fix shader cache clearing in D3D11 - need to clear the input layout maps too
2023-01-11 14:16:12 +01:00
Unknown W. Brackets
0f92afb0c1
Replacement: Check replaceValid before load.
2023-01-08 10:20:52 -08:00
Unknown W. Brackets
5749b5a825
GPU: Clear shaders on use flag change.
2023-01-05 18:24:29 -08:00
Henrik Rydgård
85e6b4e592
Increment numFlushes near the other stat increments
...
Might be better for the cache, heh.
2023-01-04 17:10:56 +01:00
Henrik Rydgård
f069de2dd2
Pass the vertex decoder into the vertex shader IDs generator
...
Instead of just the vertex type.
This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.
This doesn't actually do that yet though, it's just a refactor that can
be done separately.
Part of #16567
2022-12-30 22:57:05 +01:00
Henrik Rydgård
ba2fab5b22
Merge pull request #16677 from unknownbrackets/d3d11-pause
...
D3D11: Fix Draw state issues on pause screen
2022-12-30 21:51:55 +01:00
Unknown W. Brackets
fdf5fefa91
GPU: Normalize CopyDisplayToOutput across backends.
2022-12-30 12:33:02 -08:00
Unknown W. Brackets
492cf3f123
D3D11: Fix Draw state issues on pause screen.
2022-12-30 12:27:49 -08:00
Henrik Rydgård
67cba831dd
Slightly more useful assert message in Hashmaps.h
2022-12-29 00:39:59 +01:00
Unknown W. Brackets
49f6c461ad
Reporting: Fix some header includes.
...
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets
0496ca32ff
Global: Cleanup some minor includes and typos.
2022-12-27 08:33:07 -08:00
Unknown W. Brackets
e5dbdba638
GPU: Keep prevPrim_ set on flush.
...
For continuing previous verts, see #16612 . We still don't handle these
quite accurately (outside software rendering), but this should be better.
2022-12-18 07:14:19 -08:00
Henrik Rydgård
11366a2ded
Don't refer directly to g_Config.iMultiSampleLevel, it can contain unsupported modes.
2022-12-14 16:43:37 +01:00
Henrik Rydgård
ee19db091f
Add accessor for UseFlags
2022-12-13 18:27:45 +01:00
Unknown W. Brackets
9cfcbc46e6
Global: Cleanup initialization/pointer checks.
...
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
0f12d44e59
Remove some unused/unnecessary code
2022-12-03 12:05:10 +01:00
Henrik Rydgård
92df6b832c
Safer and simpler alternative to cbfa4bf
.
...
See #16483
2022-12-03 12:05:08 +01:00
Henrik Rydgård
02b8bf33fb
Merge pull request #16458 from hrydgard/desktop-friendly-msaa
...
Implement MSAA support for desktop GPUs in Vulkan
2022-12-03 11:22:41 +01:00
Lubos
b41a782fcd
Revert "Centralize ClearCacheNextFrame"
...
This reverts commit cbfa4bfc8e
.
2022-12-02 14:32:27 +01:00
Henrik Rydgård
cd0acec3f0
Crashfix the other backends
2022-12-02 13:49:28 +01:00
Henrik Rydgård
331d024a8c
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
...
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård
3dd45c6561
Can't forget the texture in the callback, breaks texture-from-framebuffer-copy.
...
Was probably redundant anyway.
2022-11-24 11:02:21 +01:00
Henrik Rydgård
70d1d8fa07
Replace the "GetCurrentStepId"-based state invalidation with callbacks
2022-11-24 10:52:42 +01:00
Henrik Rydgård
5c2663e37c
Merge pull request #16413 from unknownbrackets/heap-partition
...
Kernel: Respect partition param in heap funcs
2022-11-22 10:18:47 +01:00
Unknown W. Brackets
2f4e0e7d50
D3D11: Remove unused hack USE flag.
...
Only GLES uses this now, we always have accurate depth here.
2022-11-22 00:12:32 -08:00
Henrik Rydgård
cbfa4bfc8e
Centralize ClearCacheNextFrame
2022-11-21 18:13:13 +01:00
Henrik Rydgård
ce5a1b8b7e
Some minor "centralization"
2022-11-21 17:55:30 +01:00
Henrik Rydgård
37ec31dedd
Fix resizing issue. Took some refactoring.
2022-11-20 12:57:32 +01:00
Unknown W. Brackets
4a367148e6
GPU: Centralize more GPU_USE flags, like depth.
2022-11-13 08:04:47 -08:00
Unknown W. Brackets
70c3205564
GPU: Correct equal depth checks.
2022-11-09 20:34:29 -08:00
Unknown W. Brackets
1c0a37f252
GPU: Correct vertex decoder in software transform.
...
It was meant to flip to skin in decode.
2022-11-09 07:07:39 -08:00
Unknown W. Brackets
745d9ad320
GPU: Avoid enabling depth test pointlessly.
...
See #16015 . Attempting to avoid a driver bug.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
855d16ffb3
GPU: Prefer scaling depth to 16-bit if using 24.
...
In most cases, this will be a lot faster than pixel depth rounding, and
may avoid more issues in vertex rounding.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
3333f2a5aa
GPU: Avoid clears for non-simple depth values.
...
Some drivers don't round depth the same way for a clear vs for drawing,
which can cause mismatches. We only do this if we see equals-style depth
comparison funcs used in drawing.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
3de2557ecb
GPU: Always skin in decode for software transform.
2022-11-06 08:55:07 -08:00