Commit graph

33448 commits

Author SHA1 Message Date
Henrik Rydgård
aa19712fc3 Unify depth texture and framebuffer fetch checks 2022-09-20 10:47:49 +02:00
Henrik Rydgård
09bcf3ec13 Unify range culling detection 2022-09-20 10:15:04 +02:00
Henrik Rydgård
1ae7c0132c Start unifying setting of the GPU feature flags, now that thin3d has feature detection. 2022-09-20 10:07:01 +02:00
Henrik Rydgård
913ba9de88
Merge pull request #16056 from unknownbrackets/debugger-clut
GE Debugger: Include rendered CLUTs in frame dumps
2022-09-19 21:47:30 +02:00
Unknown W. Brackets
fddcbfc5fa GE Debugger: Include rendered CLUTs in frame dumps.
Like with textures, this uses the VRAM address directly.
2022-09-19 12:01:34 -07:00
Henrik Rydgård
afb7b1500b
Merge pull request #16055 from hrydgard/render-manager-cleanup
Vulkan render manager cleanup
2022-09-19 19:47:16 +02:00
Henrik Rydgård
2160882e95 Address feedback 2022-09-19 19:27:50 +02:00
Henrik Rydgård
cfe4e3278d Vulkan: Remove the useThread bool entirely. 2022-09-19 18:17:26 +02:00
Henrik Rydgård
d0016add37 Start moving stuff out to VulkanFrameData.cpp 2022-09-19 18:14:41 +02:00
Henrik Rydgård
3e0b3ba1a8
Merge pull request #16054 from unknownbrackets/softgpu-flush
softgpu: Reduce some flushing / flushing cost
2022-09-19 17:56:44 +02:00
Henrik Rydgård
6712f6a4f9
Merge pull request #16053 from unknownbrackets/ge-debugger
GE Debugger: Save current clut in frame dumps
2022-09-19 17:53:01 +02:00
Unknown W. Brackets
e2929fb395 softgpu: Skip flushing on no change.
Minor tweak, we sometimes try to flush even without anything to flush, and
were previously rechecking a lot of things.
2022-09-19 08:38:11 -07:00
Unknown W. Brackets
259abf79dd softgpu: Skip more triangles with equal verts.
Even if X is not equal, if all Y are equal, we can still skip.
This seems to happen more often than I expected with far away objects.

Skipping here avoids filling up the queue.
2022-09-19 08:37:47 -07:00
Unknown W. Brackets
e727570fae Windows: Normalize paths for OpenDirectory().
This was making GE frame dumps not automatically browse when run from MSVC
debugging by default, because of the relative path.
2022-09-19 08:30:57 -07:00
Unknown W. Brackets
7b4cc3334b GE Debugger: Save current clut in frame dumps.
For example, #14465 shows a case where the frame relies on a previously
loaded CLUT.
2022-09-19 08:30:12 -07:00
Henrik Rydgård
4b165f9fc1
Merge pull request #16049 from unknownbrackets/depth-clamp
GPU: Clip depth properly when also clamping
2022-09-19 10:22:34 +02:00
Henrik Rydgård
1b207231de
Merge pull request #16051 from unknownbrackets/gamedata-minor
Gamedata: Cleanup install request args/validate
2022-09-19 09:43:52 +02:00
Henrik Rydgård
2b93fac3c3
Merge pull request #16047 from unknownbrackets/ge-debugger
GE Debugger: Allow search by state name
2022-09-19 09:42:26 +02:00
Unknown W. Brackets
f0afc97247 Gamedata: Cleanup install request args/validate. 2022-09-18 20:39:13 -07:00
Unknown W. Brackets
c397b0287a
Merge pull request #16050 from hrydgard/buffer-frames-fix
Fix the UI setting "Buffer graphics commands". Was off by 1.
2022-09-18 16:05:16 -07:00
Henrik Rydgård
9d4351b484 Fix the UI setting "Buffer graphics commands". Was off by 1. 2022-09-19 00:45:08 +02:00
Unknown W. Brackets
a2a7e8258b GPU: Clip depth properly when also clamping.
Helps situations like #11216, where only one side should be clamped.
Keeps depth clamp (i.e. #7932) working.  See #11399.
2022-09-18 13:18:02 -07:00
Unknown W. Brackets
c08c873462 GLES: Support more clip distances.
Will be used later, for now just the enable/disable logic.
2022-09-18 13:16:59 -07:00
Henrik Rydgård
a23fe93ad8
Merge pull request #16048 from unknownbrackets/softgpu-earlyz
softgpu: Correct line early z checks
2022-09-18 22:07:31 +02:00
Unknown W. Brackets
7d4aa3eb2d softgpu: Correct line early z checks.
Was looking at completely wrong pixels, hadn't removed subpixels yet.
2022-09-18 11:44:01 -07:00
Unknown W. Brackets
a0b44c52b8 GE Debugger: Allow search by state name.
Since adding breakpoint as the first column, the default search behavior
stopped working.  This restores it, searching for any matching column.
2022-09-18 10:49:32 -07:00
Unknown W. Brackets
5b5529b390 GE Debugger: Show time spent stepping. 2022-09-18 09:52:15 -07:00
Unknown W. Brackets
f2beafe769
Merge pull request #16046 from unknownbrackets/tests-update
headless: Add some new and passing tests
2022-09-18 09:00:40 -07:00
Unknown W. Brackets
ca248e1201 softgpu: Fix s8 primitives in throughmode.
Also always cull no-position verts, hardware too.  Matches tests.
2022-09-18 07:46:18 -07:00
Unknown W. Brackets
c65880fa90 headless: Add some new and passing tests. 2022-09-18 06:40:15 -07:00
Unknown W. Brackets
91d9c69d42
Merge pull request #16042 from unknownbrackets/softgpu-prim
softgpu: Refactor imm prim handling to support fog/color1
2022-09-18 06:39:26 -07:00
Unknown W. Brackets
9f84cde062 GPU: Fix crash on imm vert triangles.
Was crashing because the frag and vert shaders didn't match up.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
97002692c4 softgpu: Correct secondary color on imm verts.
Only with through set, and we have to ignore position.
2022-09-18 06:16:26 -07:00
Unknown W. Brackets
6877ff1af2 softgpu: Fix state/continuation for imm prims. 2022-09-18 06:16:26 -07:00
Unknown W. Brackets
596b07bd2e softgpu: Support fog and color1 on imm verts. 2022-09-18 06:16:26 -07:00
Unknown W. Brackets
35ba01e01f softgpu: Refactor imm draws to bypass vert read. 2022-09-18 06:16:25 -07:00
Unknown W. Brackets
799a9ae95b softgpu: Simplify vertex reading. 2022-09-18 06:16:25 -07:00
Unknown W. Brackets
de080e2594 softgpu: Simplify vertex range culling.
The previous logic was harder to understand and easier to get wrong.
Just drop them when clipping the primitive.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
028a341cc8 softgpu: Explicitly flush on sync and output.
We could in theory skip flush on FinishDeferred, and allow some CPU/GPU
overlap.  If we did, we'd still want to flush at these times.
2022-09-18 06:16:25 -07:00
Unknown W. Brackets
f740fcdbe7 GPU: Minor cleanup of unnecessary virtual. 2022-09-18 06:16:25 -07:00
Henrik Rydgård
fc84f25818 Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change 2022-09-18 12:10:23 +02:00
Henrik Rydgård
0e6e1eb93c
Merge pull request #16043 from hrydgard/improve-stencil-bug-workaround
Consider the Adreno and Mali stencil-discard bugs the same.
2022-09-18 10:57:56 +02:00
Henrik Rydgård
3b1893600c Update pspautotest submodule 2022-09-18 10:38:37 +02:00
Henrik Rydgård
3493e722f0 Update ffmpeg submodule (no big news, just readme updates and a gcc buildfix) 2022-09-18 10:37:42 +02:00
Henrik Rydgård
4045de8d56 Consider the Adreno and Mali stencil-discard bugs the same. Use the better check from the Mali bug.
Should fix #11980
2022-09-18 10:34:43 +02:00
Henrik Rydgård
915b734cde Show GPU device ID in system information if available. 2022-09-18 10:11:01 +02:00
Henrik Rydgård
c80cc1e87a
Merge pull request #16038 from unknownbrackets/headless
Switch headless screenshot error to MSE, add benchmarking
2022-09-17 23:35:15 +02:00
Unknown W. Brackets
749268c7f7 headless: Benchmark a test or frame dump.
This outputs the average time for comparison.
2022-09-17 14:14:08 -07:00
Unknown W. Brackets
25d92c8a84 headless: Add option for MSE pass threshold.
This makes it easier to allow a certain amount of deviation across
devices.
2022-09-17 14:14:08 -07:00
Unknown W. Brackets
f32e8e11ab headless: Switch screenshot error to MSE.
This is more useful than 1/0 on whether a pixel doesn't match, when many
are close but not exact.
2022-09-17 14:13:26 -07:00