Unknown W. Brackets
c91b51c8e1
samplerjit: Reduce DXT5 decode code size a bit.
2022-02-03 20:42:34 -08:00
Henrik Rydgård
f58d4dfcfe
Merge pull request #15372 from unknownbrackets/bmi2
...
Optimize jits with a bit of BMI2
2022-02-01 09:43:35 +01:00
Unknown W. Brackets
c2dd59084d
samplerjit: Optimize DXT calc using BMI2.
2022-02-01 00:18:56 -08:00
Unknown W. Brackets
3e4afe2a0c
samplerjit: Avoid RCX gymanstics with BMI2.
2022-01-31 22:33:09 -08:00
Unknown W. Brackets
4cadcea6da
samplerjit: Decode colors with BMI2.
...
This only happens with nearest, though, so very small benefit.
2022-01-31 22:05:34 -08:00
Unknown W. Brackets
367525f875
softjit: Use PEXT to downsample colors.
...
This gives between 1-2% in many games.
2022-01-31 21:40:54 -08:00
Unknown W. Brackets
10bf375712
softjit: Use BMI2 to speed up dst color loads.
...
This is about 1% overall gain in some games.
2022-01-31 21:27:51 -08:00
Unknown W. Brackets
ad43380ef6
softjit: Use BMI to simplify some masking.
2022-01-31 19:50:48 -08:00
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
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
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
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
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
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
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
Unknown W. Brackets
c0c3f7284a
softgpu: Avoid flush texturing from stride.
...
This generally detects overlap more accurately using a dirty rectangles
approach. Also detects render to self much more accurately, including
with depth.
2022-01-20 18:39:01 -08:00