Unknown W. Brackets
be8c74cabe
softgpu: Avoid flush on END.
...
We only, but always, flush when exiting list interp in FinishDeferred.
It's not necessary at END, and hurts for simple signals that don't stop
list processing.
2022-01-31 19:32:46 -08:00
Henrik Rydgård
2a82d392e3
Remove double flush in GE_CMD_END
2022-02-01 00:05:32 +01:00
Henrik Rydgård
6d31562ea7
GPUCommon: Remove misleading flag FLUSHBEFORE.
...
Fixes the new problem in #13967
Though of course doesn't fix the vertical lines.
2022-01-31 23:57:56 +01:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
129a603832
Display: Account for stepping time in graphs.
...
Frame times should count that as sleep too.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
48b597a1b9
Display: Move core counters/stats to HW file.
...
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets
1b2cf52bfe
samplerjit: Fix non-shared CLUT on Linux.
...
Oops, good that CI will catch this now - I've broken this more than once.
2022-01-29 22:20:46 -08:00
Unknown W. Brackets
a40d32d581
samplerjit: Validate compile in a unit test.
2022-01-29 20:31:18 -08:00
Unknown W. Brackets
26a8d498d7
samplerjit: Correct level lookup in nearest.
2022-01-29 20:29:43 -08:00
Unknown W. Brackets
3387ab1711
samplerjit: Fix reg corruption in DXT funcs.
...
We'd cache something in a reg, but it'd no longer be there.
2022-01-29 20:29:08 -08:00
Unknown W. Brackets
d200ef40de
samplerjit: Compile sampler funcs together.
...
We can't have the cache clear between nearest/linear, because then we'll
call a bunch of int3's.
2022-01-29 20:28:20 -08:00
Unknown W. Brackets
0d93200faf
softjit: Add tests for compile success.
2022-01-29 18:47:36 -08:00
Unknown W. Brackets
3dde3efa9f
softjit: Fix stencil bug running out of regs.
...
To apply the stencil test mask, we need another gen reg.
2022-01-29 18:31:40 -08:00
Henrik Rydgård
078c61cfc9
Merge pull request #15360 from unknownbrackets/samplerjit-opt
...
Cleanup register usage a bit in samplerjit
2022-01-30 00:31:01 +01:00
Unknown W. Brackets
ce775af76d
softgpu: Skip new CLUT if identical.
...
Games often reupload CLUT data that is already there, this skips some
copying later in the bin manager.
2022-01-29 12:55:34 -08:00
Unknown W. Brackets
a181c9f7c4
unittest: Correct failing unit test.
...
Was just an invalid flag combination.
2022-01-29 12:22:11 -08:00
Unknown W. Brackets
5976cad797
samplerjit: Reduce register waste.
...
A few registers were allocated longer than needed, which made requiring
stack more likely.
2022-01-29 09:47:06 -08:00
Unknown W. Brackets
eb70a90347
samplerjit: Avoid frac uv transfer to gen regs.
...
It should just stay in vec, this is more convenient anyway.
2022-01-28 23:50:54 -08:00
Henrik Rydgård
54053b6b8b
Merge pull request #15347 from unknownbrackets/samplerjit-opt
...
Improve samplerjit code a bit with mipmaps
2022-01-26 09:19:06 +01:00
Unknown W. Brackets
e82b54e4b6
softgpu: Cull no-pos and through s8 pos verts.
...
Seems like these just don't draw anything, ever.
2022-01-25 19:29:11 -08:00
Unknown W. Brackets
61e30e8f8b
softgpu: Fix cull in throughmode.
...
Was only an issue for triangles used to draw rectangles, but caused our
test to fail.
Also move a test that was failing due to an outdated prx to passing.
2022-01-25 19:07:33 -08:00
Unknown W. Brackets
99d6d569f0
samplerjit: Reduce transfers in nearest texel calc.
...
This benefits a few games, mostly where there's lots of UI or similar.
2022-01-24 21:28:04 -08:00
Unknown W. Brackets
c1e657ed47
samplerjit: Better vectorize UV linear calc.
...
Gives about 1-2% when mips are used.
2022-01-24 20:42:07 -08:00
Unknown W. Brackets
733046962f
samplerjit: Reuse XMM reg for sizes.
...
Gives just under 1% overall improvement in games using mips.
2022-01-24 19:01:23 -08:00
Henrik Rydgård
0e2f5d66b6
Merge pull request #15345 from unknownbrackets/softgpu-blend
...
Fix some minor softgpu blending bugs
2022-01-24 09:37:59 +01:00
Henrik Rydgård
fbc965fb59
Merge pull request #15343 from unknownbrackets/gpu-region
...
GPU: Log and report when region1 is non-zero
2022-01-24 09:18:17 +01:00
Henrik Rydgård
1c18c172a1
Merge pull request #15339 from unknownbrackets/softgpu-flags
...
Use dirty flags for softgpu state updates
2022-01-24 09:17:37 +01:00
Unknown W. Brackets
07b67ef572
softgpu: Fix pixel ID for invalid blend factors.
...
They should still be treated as FIX, we were accidentally using our
special values.
2022-01-24 00:08:33 -08:00
Unknown W. Brackets
6c723c0517
softjit: Fix src blend factor handling.
...
This was causing us to skip a shift, oops.
2022-01-24 00:05:00 -08:00
Henrik Rydgård
c1b8fb737e
Merge pull request #15344 from unknownbrackets/gpu-signal-jumps
...
GPU: Allow relative jumps and calls
2022-01-24 08:38:45 +01:00
Henrik Rydgård
eba93f2ee0
Merge pull request #15340 from unknownbrackets/softgpu-textures
...
Correct UV rotation and through mipmaps, optimize texenv blend a bit
2022-01-24 08:19:34 +01:00
Unknown W. Brackets
e47ee79899
GE Debugger: Allow GPU stepping while CPU stepping.
...
This can happen if you step into an update stall address call or similar.
2022-01-23 23:06:33 -08:00
Unknown W. Brackets
511c822312
GPU: Allow relative jumps and calls.
...
These are tested in gpu/signals/jumps, so they ought to work.
Doesn't seem like games generally use them, though.
2022-01-23 23:03:30 -08:00
Unknown W. Brackets
8efb99801e
GPU: Log and report when region1 is non-zero.
2022-01-23 19:38:51 -08:00
Unknown W. Brackets
818d17183b
softgpu: Correct clear mode dither.
...
It does apply, but have to be careful about alpha.
2022-01-23 12:39:50 -08:00
Unknown W. Brackets
3010cd56d1
softgpu: Correct simple rectangles with mipmaps.
...
Might be used for fonts, we could potentially check for bias/slope, but
mipmaps are uncommon in direct through draws anyway.
2022-01-23 12:26:58 -08:00
Unknown W. Brackets
d8c5c35b1a
samplerjit: Optimize texenv blending a bit.
...
This reduces to a single multiply, which is much faster.
2022-01-23 11:43:34 -08:00
Unknown W. Brackets
648b71616e
softgpu: Correct UV rotation for transformed rects.
2022-01-23 08:15:15 -08:00
Unknown W. Brackets
d74001f4fa
softgpu: Reuse transform state.
2022-01-23 08:08:41 -08:00
Unknown W. Brackets
9ea5367a8c
softgpu: Add dirty flags for rasterization state.
2022-01-23 08:08:41 -08:00
Unknown W. Brackets
a27da25cd6
softgpu: Use dirty flags for render overlap checks.
2022-01-23 08:08:40 -08:00
Unknown W. Brackets
77db9c818f
softgpu: Fix state race on screen offset.
...
Caused glitches in Motorstorm.
2022-01-23 08:08:40 -08:00
Unknown W. Brackets
76f9103e97
softgpu: Add a table and initial dirty flags.
...
Not actually using the dirty flags to skip state, but have moved to
Execute_* functions and everything else like other graphics backends.
2022-01-23 08:08:40 -08:00
Henrik Rydgård
5a6bf8b435
Merge pull request #15338 from unknownbrackets/ge-debugger
...
Alow flushing at will via the GE debugger
2022-01-23 00:30:52 +01:00
Unknown W. Brackets
eb95b99523
GE Debugger: Add option to auto flush.
...
This makes it easier to see what's happening in each draw.
2022-01-22 13:12:59 -08:00
Unknown W. Brackets
4262e657b4
samplerjit: Oops, forgot about 64 unpack.
...
Just a minor codegen tweak. Always forget there are more of these than
pack instructions.
2022-01-22 10:49:36 -08:00
Unknown W. Brackets
0425b8d630
samplerjit: Fix Linux stack corruption.
...
Oops, nearest was not using the red zone correctly.
2022-01-22 10:47:32 -08:00
Henrik Rydgård
b5e8c21042
Merge pull request #15334 from unknownbrackets/headless
...
Update pspautotests, require passing in GitHub Actions
2022-01-22 09:36:30 +01:00
Unknown W. Brackets
ce0e872d37
softgpu: Define constexpr var for older C++.
2022-01-22 00:14:15 -08:00
Unknown W. Brackets
212e730e98
samplerjit: Fix some Linux register issues.
2022-01-22 00:14:15 -08:00