Commit Graph

127 Commits

Author SHA1 Message Date
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
Unknown W. Brackets 277691746d GPU: Correct more vertex/index endian swaps. 2021-02-18 22:28:41 -08:00
aliaspider 9a3e5879bb Global: Correct many endian types and casts. 2021-02-18 22:25:24 -08:00
iota97 0a44d9f600 Do not use x86 for other machine 2020-12-06 15:50:50 +01:00
Henrik Rydgård c0a5fa3e8b Fix a crash if JIT space failed to allocate 2020-12-02 00:33:51 +01:00
Henrik Rydgård 3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Unknown W. Brackets 6b8f7294b3 Global: Remove ARM64 define.
Was barely used anymore, and some users are specifying it when it's not
the case, so better to detect consistently.
2020-08-29 08:45:50 -07:00
Henrik Rydgård b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Unknown W. Brackets b4496f1975 Core: Move config enums to separate file.
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -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 00f3bf6102 Revert "Start removing support for hardware skinning."
This reverts commit dcb773d624.
2018-04-10 12:31:21 +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 8953d7ff73 Revert "Comment fixes, reindentation."
This reverts commit 6fa9fcefb2.
2018-04-10 12:14:23 +02:00
Henrik Rydgård 1c99ebcbcc Fix DecFmt bug 2018-04-10 12:12:47 +02:00
Henrik Rydgård 69309aa400 Revert "Remove some remains of software skinning"
This reverts commit 2d33d526b8.
2018-04-10 11:21:56 +02:00
Unknown W. Brackets d70568abd2 GPU: Fix s8 norm with skin and morph.
Fixes #10851.
2018-04-02 19:18:16 -07:00
Henrik Rydgård 614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård 2d33d526b8 Remove some remains of software skinning 2018-03-16 20:38:05 +01:00
Henrik Rydgård 6fa9fcefb2 Comment fixes, reindentation. 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 dcb773d624 Start removing support for hardware skinning. 2018-03-05 00:03:47 +01:00
Henrik Rydgård 66cbad443a Add necessary decode functions to support morph+skin 2018-03-05 00:03:47 +01:00
Henrik Rydgård 45cfda4aa0 Small refactoring in VertexDecoderCommon 2018-03-05 00:03:47 +01:00
Henrik Rydgård 5c50c007b7 Minor fix for previous commit. 2018-01-03 18:21:50 +01:00
Henrik Rydgård e7893001e9 VertexDecoderCommon: A few more cases. 2018-01-03 17:02:07 +01:00
Henrik Rydgård e472947488 VertexDecoderCommon: Avoid reading the destination during vertex decode, might be some kind of memory that's not good to read from... 2018-01-03 16:31:01 +01:00
Unknown W. Brackets db300da1d7 Reporting: Improve no pos verts message. 2017-12-01 09:45:58 -08:00
Henrik Rydgård 3e749a94ce Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.

Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Henrik Rydgård 6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02: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
Henrik Rydgård 2f85e6516e Minor optimizations (use the new hashmap in a few more places) 2017-08-20 19:18:46 +02:00
Henrik Rydgård 0ec1e5e3b2 Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708 2017-05-26 15:48:03 +02: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 Rydgard c54999d26a Even the vertex interpreter, not just the jit, can crash from misaligned vertex data. 2017-04-02 23:57:59 +02:00
Henrik Rydgard 8956a823bb If the main CPU JIT is not enabled, don't try to vertex-jit. See #9404 2017-03-10 00:18:53 +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 389650e2a7 Need to include getUVGenMode in vertex cache hash. Fixes #9263 2017-02-04 11:15:47 +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 9d7983eee8 Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder. 2016-12-20 13:27:44 +01:00
Henrik Rydgard 5d5f10d956 Attempts to counter crashes seen in the Google Play developer console 2016-12-01 22:07:03 +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 2e1986d0c8 Fix a few reorder warnings. 2016-05-01 09:50:03 -07:00
Unknown W. Brackets ebce8d2753 Don't convert to float with prescale off.
Since we assume we need to normalize, it seems.
2016-04-16 19:00:34 -07:00
Unknown W. Brackets 614665068a Implement morphing for texcoords.
Tests show that this can be used.
2016-04-16 18:38:06 -07:00