Henrik Rydgård
e6185ba6bb
Clean out NaNs and INFs from vertex coordinates
...
This enables a behavior seen on the real PSP where 0 * NaN == 0 in the
GPU (NOTE: This means the vertex transform pipeline).
However, this
doesn't touch INFs unfortunately, and we need to modify those too...
This, together with #21715 , finally fixes #20204 .
2026-06-02 10:52:39 +02:00
Henrik Rydgård
5e16bf907b
VertexDecoder: Improve logging for missing formats. Add missing convert function.
...
The missing function is mainly used in D3D11, which can be used on
Windows for ARM64. It's not necesssary for the other backends, which is
why it used to be missing in the ARM64 vertex decoder.
Also fix a minor memory leak in AtracCtx2.
2025-09-24 10:52:09 -06: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
bca83c0baf
Buildfix
2023-12-19 14:44:21 +01:00
Henrik Rydgård
4af6fac726
Nop-align the ARM and ARM64 loops too. Many CPUs benefit somewhat from hot loops being 16-byte aligned.
2023-06-13 00:05:48 +02: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
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
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
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
584e94f01e
ARM32: Remove a lot of non-NEON fallback paths
2022-04-13 11:44:55 +02:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
6f1915110f
Remove base/logging from UI and more
2020-08-15 19:08:54 +02:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
7910b4029a
arm64jit: Track writable and non-writable pointers.
...
Switch uses different memory regions. We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Henrik Rydgård
dbe52c8135
Remove some obsolete checks - software skinning is now supported even if morphcount isn't 1.
2018-04-10 13:09:01 +02:00
Henrik Rydgård
ccd594dae7
Revert "VertexLoader: Remove now-unused weights translation code"
...
This reverts commit 44100c6c1d .
2018-04-10 12:30:49 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680 .
2018-04-10 12:22:41 +02:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Henrik Rydgård
44100c6c1d
VertexLoader: Remove now-unused weights translation code
2018-03-05 00:03:47 +01:00
Henrik Rydgård
22e65ba80d
Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11
2017-08-31 01:14:51 +02:00
Unknown W. Brackets
7699fa55de
arm: Jit throughmode 16-bit texcoords.
...
It's popular, and this makes decoding such verts much faster.
2017-05-06 22:52:58 -07:00
Unknown W. Brackets
257f8dbbc6
GPU: Remove now-unused vertex decoder funcs.
...
We always convert to float now, so these functions are no longer used.
2017-05-06 18:55:16 -07:00
Henrik Rydgård
440e72d250
Clean up among the logs. Remove MASTER_LOG.
2017-03-06 13:10:23 +01:00
Henrik Rydgard
a272a4ee3f
Improve error message on vertex decoder compile fail. Also disable a broken vertex JIT function until it can be fixed.
2017-03-03 14:19:36 +01:00
Henrik Rydgard
59f5c53040
Fix recent texture scaling bug. Should help #9250
...
Not all cases tested yet.
2017-01-29 14:42:59 +01:00
Henrik Rydgard
98e0ccf1e1
Vertex JIT: Add some missing functions to ARM/ARM64 decoders.
2017-01-25 20:13:29 +01:00
Henrik Rydgård
3d8c94cf90
Fix bug where if the Vertex Decoder JIT failed, we failed to restore mprotect permissions causing a crash
2017-01-25 19:07:13 +01:00
Henrik Rydgard
1dbeca0618
Only support decoding UV to float in vertex formats. Supporting u8 and 16 was more complexity than it's worth.
2016-12-20 13:42:54 +01:00
Henrik Rydgard
e6757615dc
Follow the ARM calling convention closer in the vertex decoder
2016-12-01 15:56:05 +01:00
Florent Castelli
8c3552de74
cmake: Detect features at compile time
...
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Henrik Rydgard
b264657d56
Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
...
Disabled block linking in this mode, can re-enable with some more work later.
To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Unknown W. Brackets
7127de302e
Avoid some unused variable warnings.
2016-08-05 10:48:18 -07:00
Henrik Rydgard
56814ad52d
SW skinning (ARM32, x86): Don't convert more bone matrices than necessary
...
Was already fixed on ARM64.
2015-10-25 00:51:47 +02:00
Henrik Rydgard
6a373fe09a
Make it possible to view vertex decoders through the shader viewing mechanism (even though they aren't strictly shaders, they fit the model).
2015-10-24 10:41:31 +02:00
Henrik Rydgard
8107cb4423
Hopefully this will help issue #7969
2015-10-04 10:08:20 +02:00
Unknown W. Brackets
dff4aeb30f
Correct uv bound pointers in arm vertexjit.
2015-09-13 14:55:10 -07:00
Unknown W. Brackets
31106d063c
Fix MSVC 2015 highlighting for ARM/ARM64.
2015-09-13 10:02:55 -07:00
Unknown W. Brackets
5c233fa545
Add initial decoding check for uv bounds.
2015-09-13 10:00:33 -07:00
Henrik Rydgård
a7b7fedc9f
Cleaup. Add a missing vertex dec func.
2015-04-06 18:13:45 +02:00
Henrik Rydgård
459ba28655
ARM64: SW skinning runs without crashing but is broken.
2015-04-06 18:13:44 +02:00
Henrik Rydgard
a12e448fb4
ARM64: Stub vertex decoder jit, implementing just enough for the cube.elf cube.
2015-04-06 18:13:18 +02:00
Henrik Rydgard
0727df6f0a
Jit the most common of the "ToFloat" texcoord conversions
2014-09-12 02:00:33 +02:00
Henrik Rydgard
37e3cf362f
Move vertexdecoder files into GPU/Common
2014-09-12 02:00:32 +02:00