1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
GLideN64/projects/cmake
gizmo98 a471b130e7 CRC.cpp: add ARMv8 crc intrinsics
Speedup:
CRC_Calculate() up to 11x
CRC_CalculatePalette() up to 4x

Will be only used if the right compiler flags are set.
rpi3: -march=armv8-a+crc -mtune=cortex-a53

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801f/pge
1427897662265.html

If CRC32 can be replaced with CRC32C SSE4.2 CRC32C intrinsics could be
added as well.
https://github.com/gonetz/GLideN64/pull/1056#issuecomment-244530166
2016-09-07 21:34:19 +07:00
..
Readme.txt CRC.cpp: add ARMv8 crc intrinsics 2016-09-07 21:34:19 +07:00

cmake project files located inside src folder. To build the project with cmake, run

cmake [-DCMAKE_BUILD_TYPE=Debug] [-DVEC4_OPT=On] [-DCRC_OPT=On] [-DNEON_OPT=On] [-DNOHQ=On] [-DUSE_UNIFORMBLOCK=On] -DMUPENPLUSAPI=On ../../src/

-DCMAKE_BUILD_TYPE=Debug - optional parameter, if you want debug build. Default buid type is Release
-DVEC4_OPT=On  - optional parameter. set it if you want to enable additional VEC4 optimization (can cause additional bugs).
-DCRC_OPT=On  - optional parameter. set it if you want to enable additional CRC optimization (can cause additional bugs).
-DCRC_ARMV8=On  - optional parameter. set it if you want to enable armv8 hardware CRC. It will be ignored if -DCRC_OPT=On.
-DNEON_OPT=On - optional parameter. set it if you want to enable additional ARM NEON optimization (can cause additional bugs).
-DNOHQ=On - build without realtime texture enhancer library (GLideNHQ).
-DUSE_UNIFORMBLOCK=On - Use uniform blocks in shaders. May help to improve performance. Not supported by GLES2 hardware.
-DMUPENPLUSAPI=On - currently cmake build works only for mupen64plus version of the plugin.