Herman Semenov
ca94de8d4b
[GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:34:34 +03:00
Henrik Rydgård
9a7579f8fa
Typo fix, fixes #18038
2023-09-06 17:10:17 +02:00
Unknown W. Brackets
d6a5e84db5
softgpu: Fix worldpos skipping.
...
Oops, was reversed. We need worldpos for non-directional lights.
2023-07-16 10:59:44 -07:00
Unknown W. Brackets
47c29e0874
sopftgpu: Disable lights if all else disabled.
...
Tiny gain, but seeing it happen so might as well.
2023-07-16 10:31:58 -07:00
Unknown W. Brackets
d5b4c98f96
softgpu: Reduce some non-SIMD lighting math.
...
Small perf improvement for vertex/lighting heavy (i.e. 3D) scenes.
2023-07-16 10:31:44 -07:00
fp64
f133739cd0
Replace some signed divison in SoftGPU
...
This also adds a few bitwise operations to Vec4<int> and further
SIMDifies it.
Also, fixes unrelated warning.
2023-06-29 16:43:21 -04:00
fp64
436b49c4f2
Streamline x86 SSE workaround
...
Seems clearer than using #ifdef's at each site. Also rationale
is clearly spelled out, one 'Go to definition' away from any instance.
2023-06-27 00:30:01 -04:00
Henrik Rydgård
5b4fa06b00
Revert Dot33 on 32-bit x86 only. See #17584
2023-06-16 23:43:33 +02:00
fp64
f0d844a5a3
Convert Dot33 to SSE2
...
Simpler, lower requirements, and doesn't seem to hurt speed. See #17571 .
2023-06-14 22:02:50 -04:00
Unknown W. Brackets
a7fa37d114
softgpu: Use SIMD more for dot products.
2023-06-12 19:54:32 -07:00
Unknown W. Brackets
0490ad0039
softgpu: Add NEON variants as well.
2023-04-16 13:09:56 -07:00
Unknown W. Brackets
860fc176d8
softgpu: Use more SSE in lighting.
2023-04-16 11:59:57 -07:00
Unknown W. Brackets
2868495cf8
softgpu: Use SSE for lighting ceil if available.
...
Tiny optimization, helps only a little.
2023-04-16 11:13:43 -07:00
Unknown W. Brackets
b5206df04f
softgpu: Calc worldnormal a bit less often.
...
This is clearer anyway.
2023-04-16 10:16:32 -07:00
Unknown W. Brackets
1215714240
softgpu: Use NEON for lighting.
2023-01-07 19:06:35 -08:00
Unknown W. Brackets
f1b5cbf993
softgpu: Fix lighting with 0 exp.
...
Broken in #15317 . Fixes Kratos scene demo.
2023-01-02 11:42:52 -08:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
8a6e8066bf
softgpu: Store vertex colors as packed RGBA8.
...
No need to keep it expanded at 4x the space for both colors.
2022-09-11 18:41:06 -07: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
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
Unknown W. Brackets
7218fbbe97
softgpu: Guide more SSE light factor handling.
...
Missed these others in computed state. Helps mostly to do this inside
Process().
2022-01-17 06:25:52 -08:00
Unknown W. Brackets
fcc3b7684e
softgpu: Use SSE in lighting param computation.
...
The compiler couldn't figure this out. Halves time in this func.
2022-01-16 21:31:53 -08:00
Unknown W. Brackets
2797e035df
softgpu: Precompute lighting parameters.
...
In many cases, games use lighting just for diffuse or something, this
helps skip what's not needed too. Good improvement in a scene from a
Naruto game.
2022-01-16 11:27:53 -08:00
Unknown W. Brackets
d6a8cb2a0e
softgpu: Stop storing normal/worldnormal/worldpos.
...
This is only needed for lighting, which is applied right away.
This improves perf just simply from less data being copied.
2022-01-14 20:32:18 -08:00
Unknown W. Brackets
ce8a49b1c1
softgpu: Retain floats in diffuse/specular.
...
This seems to be a bit more accurate. Color blending seems correct now,
but the factors and especially pow results are off.
Also, normalize normal to 0, 0, 1, which seems to match results better.
2022-01-06 21:52:31 -08:00