Henrik Rydgård
c91169e702
Restore removed <algorithm> includes.
...
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård
df6ed8cfc9
Do some cleanup of #includes in GPU
2024-12-18 13:57:26 +01:00
Henrik Rydgård
e74101a2fb
applySkinInDecode belongs in the VertexTypeID, not in the options.
2024-12-17 18:24:18 +01:00
Henrik Rydgård
2c283fbb07
Minor cleanups, crashfixes
2024-10-14 23:57:19 +02:00
Henrik Rydgård
42c32c5afc
VertexDecoder: Don't read loop counts from memory. Improves codegen
2024-09-10 17:53:19 +02:00
Henrik Rydgård
43c68c4277
VertexDecoder: Remove member function pointers from decoding
2024-07-22 14:06:15 +02:00
Henrik Rydgård
fd9daf7594
Fix some minor issues found by --sanitize. Add --sanitizeub.
...
Unfortunately the ub (undefined behavior) sanitizer has some bugs, it doesn't
understand pointers to member functions, so can't use it in-game (due to the
vertex decoder).
Thanks Nemoumbra for the reminder.
2024-07-22 11:37:18 +02:00
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
Henrik Rydgård
8d6e96d04e
Use binary search to find IR block offsets
2024-06-07 09:28:27 +02:00
Henrik Rydgård
c794f4bd41
Add an unrelated comment and some casts
2024-06-05 08:35:09 +02:00
Henrik Rydgård
6ce087430b
JIT-less vertex decoder: SSE/NEON-optimize ComputeSkinMatrix
2024-06-04 12:29:16 +02:00
Henrik Rydgård
9ac7054b01
Vertex decoder (non-JIT): Optimize 16-bit color decoders.
2024-06-04 10:35:31 +02:00
Henrik Rydgård
7a32507ab7
Add a decode counter to vertex decoders in _DEBUG mode
2024-06-02 10:25:05 +02:00
Henrik Rydgård
fb599cd0a6
Only use the optimized decoders if SSE or NEON is available.
2024-05-11 14:18:42 +02:00
Henrik Rydgård
4a66f8978b
Fix the GoW optimized vertex decoder, add NEON optimizations
2024-05-11 13:27:11 +02:00
Henrik Rydgård
bafff7f5db
Temporarily disable the custom GoW vertex decoder, it needs some work.
2024-05-11 11:11:48 +02:00
Henrik Rydgård
3526416173
Add another handwritten vertex decoder
2024-05-11 10:00:39 +02:00
Henrik Rydgård
81f1b3fd95
Make handwritten vertex decoders work with non-compiled vertex decoding
2024-05-11 10:00:35 +02:00
Henrik Rydgård
3e11e54405
Remove obsolete flag
2024-05-11 10:00:35 +02:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03:00
Henrik Rydgård
e3177ac870
Make some global string pointers const, not just the strings.
...
Minor cleanup.
2023-12-29 14:09:45 +01:00
Henrik Rydgård
f86189c951
Show vertex decoders separately in profiles
2023-12-19 12:25:54 +01:00
Herman Semenov
315340fc62
Using const reference for C++17 range-based loop and freq used objects
2023-12-13 17:33:01 +01:00
Henrik Rydgård
71aaad23fb
Fix issue with zero-vertex draw calls. Though, should maybe just filter them out earlier.
2023-12-10 12:21:07 +01:00
Henrik Rydgård
d4703e9534
Decoded position format is always the same
2023-10-06 15:39:58 +02:00
Henrik Rydgård
92ffef2626
Remove some state from IndexGenerator, fix bugs. Mostly works except vertex cache.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
45bc4d8750
Make GetIndexBounds friendlier to autovectorization. Works on x86 at least.
2023-09-24 12:15:04 +02:00
Unknown W. Brackets
622c69dbb9
x86jit: Expose option to select new IR based jit.
2023-08-20 22:28:54 -07:00
Henrik Rydgård
bee2400230
Merge pull request #17769 from unknownbrackets/vertexjit-debug
...
Add compilation-enabled vertexjit compare tool
2023-07-24 09:39:52 +02:00
Unknown W. Brackets
311c78f26b
GPU: Make the vertexjit diff smarter.
2023-07-23 14:28:45 -07:00
Unknown W. Brackets
b6f11d6dae
GPU: Add a little tool to debug vertexjit.
...
Although it's too exacting right now, it still helps.
2023-07-23 14:28:45 -07:00
Unknown W. Brackets
312dcfc1c5
GPU: Correct UV scale for non-jit.
2023-07-23 14:25:43 -07:00
Henrik Rydgård
01cea7f088
Pass uvScale in as an argument to the vertex decoder
...
Cleaner than overwriting/restoring gstate_c.uvScale in the decoder
loop. A small cleanup I've been wanting to do for ages.
Expecting a negligble perf boost if any.
2023-06-12 20:25:18 +02:00
Henrik Rydgård
80e47b7bd3
Only dirty the uniform UVSCALEOFFSET when really needed
...
Broken out from #17479
With OpenGL, greatly reduces the amount of glUniform4fv calls in many games (and
similar in the other backends).
2023-05-25 15:00:57 +02:00
Unknown W. Brackets
9c21184352
vertexjit: Simplify CPU core check.
...
This also avoids allocating the memory we won't use if it's off.
2023-02-28 07:03:12 -08:00
Unknown W. Brackets
8d4007ce3f
Vulkan: Force align verts to 4 on Apple devices.
2023-01-18 07:24:18 -08:00
Unknown W. Brackets
77849d3eed
riscv: Add disassembler.
...
From https://github.com/anthony-coulter/riscv-disassembler .
Modified slightly to pull in less headers in the h, prefix funcs.
2023-01-01 10:28:53 -08: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
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
66472c39ce
GPU: Use skinned position always in bounding check.
...
Meanwhile, move to a flag on decoder options instead of global check.
2022-11-06 08:23:31 -08:00
Unknown W. Brackets
ca248e1201
softgpu: Fix s8 primitives in throughmode.
...
Also always cull no-position verts, hardware too. Matches tests.
2022-09-18 07:46:18 -07:00
Unknown W. Brackets
4889d5285d
vertexjit: Use consistent skinInDecode.
...
Just a little cleanup.
2022-09-10 21:54:04 -07:00
Unknown W. Brackets
470d2f0f4e
vertexjit: Remove unused ReadUV() cases.
2022-09-01 23:33:52 -07:00
Unknown W. Brackets
f2d5d668a5
vertexjit: Remove unused ReadPos() cases.
2022-09-01 23:33:52 -07:00
Unknown W. Brackets
9f48ddb18c
vertexjit: Clamp through float pos during decode.
...
Rather than decoding it on read, better to decode it right away.
2022-09-01 23:33:52 -07:00
Henrik Rydgård
c9048c3748
Shrink the DeferredDrawcall struct, because why not. Assorted cleanup
2022-09-01 11:59:33 +02: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
8a8328c431
Common: Move ColorConv to a more appropriate place.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
4178f09e57
Build: More consistently avoid _M_ defines.
...
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
d9aecffd72
Build: Remove old ARM define.
2021-03-02 21:26:03 -08:00