Commit Graph
6904 Commits
Author SHA1 Message Date
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