Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02: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
b2798c7ada
jit: Add more reasonable estimates for RX protect.
2022-11-20 10:55:35 -08:00
Unknown W. Brackets
813bfded92
x86jit: Correct vh2f NAN handling ( #16275 )
...
* x86jit: Correct vh2f NAN handling.
Allows another test to pass.
* x86jit: Reuse MAccessibleDisp().
2022-10-23 10:09:29 +02:00
lainon
b304551747
Code readability, vec reserve() and remove excess c_str()
2022-09-30 12:31:32 +03:00
Unknown W. Brackets
6468e0f03e
softjit: Fix dst blend shift.
...
Example: src * dst.a + dst * one, still requires a shift back.
2022-09-29 22:31:50 -07:00
Unknown W. Brackets
6e6535c263
softjit: Skip reading dst pixel where blended out.
...
Sometimes used by blends used purely to multiply the source color by
something, usually prep for bloom.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
e72309745e
softjit: Implement accurate fog color blending.
2022-09-11 08:50:07 -07:00
Unknown W. Brackets
15d5fa48f7
softgpu: Check depth test early on simple stencil.
...
If we don't need to write stencil on sfail/zfail, we can do the depthtest
early, which allows us to more often skip texture sampling.
This gives a good improvement in Chains of Olympus.
2022-09-10 21:24:19 -07: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
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
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
6ec819878a
samplerjit: Reduce prolog/epilog spill.
...
Track reg usage so we only push/pop what we need.
2022-01-19 00:03:59 -08:00
Unknown W. Brackets
357e2e9d68
softjit: Simplify constant writes.
2022-01-19 00:03:59 -08:00
Unknown W. Brackets
c2985bca31
softjit: Centralize some common funcs from sampler.
...
No need to duplicate this code.
2022-01-19 00:03:59 -08:00
Unknown W. Brackets
ac2b96cec0
softjit: Switch to constant pool.
...
This is simpler without RIP access checks, and tends to be fast.
2022-01-17 19:50:37 -08:00
Unknown W. Brackets
092b03bd67
softgpu: Move fixed blend factor to draw pix state.
...
This is the last of the gstate.
2022-01-15 13:03:11 -08:00
Unknown W. Brackets
f4f7ea2736
softgpu: Cache colortest params in draw pix state.
2022-01-15 13:03:11 -08:00
Unknown W. Brackets
aa9d751248
softgpu: Cache alpha/stencil test masks in state.
2022-01-15 13:03:11 -08:00
Unknown W. Brackets
acad2640dd
softgpu: Cache logicOp in draw pixel state.
2022-01-15 13:03:10 -08:00
Unknown W. Brackets
c0d548846f
softgpu: Use cached write mask in draw pixel.
2022-01-15 13:03:10 -08:00
Unknown W. Brackets
f1ce2e7715
softgpu: Cache minz/maxz in draw pixel state.
2022-01-15 13:03:10 -08:00
Unknown W. Brackets
0b3f096c01
softgpu: Cache strides in draw pixel state.
2022-01-15 13:03:10 -08:00
Unknown W. Brackets
e9f3720e20
softgpu: Cache fog color draw pixel state.
2022-01-15 13:03:10 -08:00
Unknown W. Brackets
880826bab4
softgpu: Remove disable of cached pixel state.
...
That mode is slower now (with the other state changes), and we don't want
to read gstate anymore anyway.
2022-01-15 11:22:50 -08:00
Unknown W. Brackets
a309ed791b
softjit: Use RIP access in color/depth off.
...
Seems to help, though it's small.
2022-01-03 06:45:10 -08:00
Unknown W. Brackets
612cc0ab5c
softjit: Optimize depth range checks.
...
This was higher than I expected on the profile. Not a huge improvement,
but a bit faster.
2022-01-03 06:45:10 -08:00
Unknown W. Brackets
961cfcd75c
softjit: Add describes here too.
...
Helpful to aggregate when there are multiple rasterizers.
2022-01-03 06:45:10 -08:00
Unknown W. Brackets
ba17f538d6
softjit: Avoid const temp registers.
...
Was trying to make sure register allocation was okay in the worst case.
2022-01-02 08:47:04 -08:00
Unknown W. Brackets
745c35f320
softjit: Small bloom optimization.
...
Another common case, src*dst + dst*0. Can skip the add.
2022-01-02 08:47:04 -08:00
Unknown W. Brackets
355bad666c
softjit: Optimize common case bloom blending.
...
Bloom often uses fixed ONE + ONE, which is a lot less work for us. And
bloom often runs over and over again on pixels, so saving work is good.
2022-01-02 08:47:04 -08:00
Unknown W. Brackets
5f84de7de7
softjit: Small optimizations.
2022-01-01 16:58:04 -08:00
Unknown W. Brackets
8c31f1bb38
softjit: Fix regcache error when clearing.
...
Happens for non-through clears.
2022-01-01 16:40:01 -08:00
Unknown W. Brackets
33e9841a4a
softgpu: Skip zero size triangles.
...
These were drawing before, incorrectly, which caused artifacts.
Noticeable in Blade Dancer.
2021-12-31 00:20:12 -08:00
Unknown W. Brackets
0d4ec5ca20
softjit: Fix an enum type comparion error.
...
Same values, though, so didn't matter.
2021-12-11 10:45:27 -08:00
Unknown W. Brackets
5593b8ff64
softjit: Skip a common case CMP.
2021-12-11 00:06:45 -08:00
Unknown W. Brackets
d35ef352c3
softjit: Throw away regs allocated in conditionals.
...
If this happens, the register no longer has a deterministic value.
2021-12-11 00:06:14 -08:00
Unknown W. Brackets
4aa5bee14c
softjit: Make it an error to unlock a temp.
...
Also fix some register usage in logic ops.
2021-12-01 21:50:02 -08:00
Unknown W. Brackets
aec41b34d6
softjit: Reduce ditherMatrix to 8-bit.
...
Oops, not sure why I made it 16 bit.
2021-12-01 21:39:29 -08:00
Unknown W. Brackets
bfe82e417d
softjit: Fix locked stencil reg.
2021-11-28 20:26:01 -08:00
Unknown W. Brackets
99c213f244
softjit: Centralize argument register allocation.
2021-11-28 15:53:24 -08:00
Unknown W. Brackets
7aea6d2ab0
softjit: Fix fog typo causing locking bug.
2021-11-28 12:26:23 -08:00
Unknown W. Brackets
9653c33d9c
softjit: Fix PixelFuncID arg on non-Windows x64.
...
Oops, this is of course not put on the stack, it's in R8.
2021-11-28 08:54:36 -08:00
Unknown W. Brackets
3d5bced296
softjit: Rename reg cache so it can be reused.
...
Intentionally just the name changes in this commit.
2021-11-28 08:03:15 -08:00
Unknown W. Brackets
2f039abd13
softjit: Simplify regcache usage as purpose only.
...
Dealing with types was annoying, and this helps validate the right
register is released.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
cc099c73f1
softjit: Decide stack offset on compile.
...
This makes it easier to compile different entries or push regs.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
e1ed49a3e4
softjit: Ensure all regs are released.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
d53e13b862
softjit: Manage args in the register cache.
2021-11-28 08:03:13 -08:00