dolphin/Source/Core/VideoCommon
Skyler Saleh 4ecb3084b7 Apple M1 Support for MacOS
This commit adds support for compiling Dolphin for ARM on MacOS so that it can
run natively on the M1 processors without running through Rosseta2 emulation
providing a 30-50% performance speedup and less hitches from Rosseta2.

It consists of several key changes:

- Adding support for W^X allocation(MAP_JIT) for the ARM JIT
- Adding the machine context and config info to identify the M1 processor
- Additions to the build system and docs to support building universal binaries
- Adding code signing entitlements to access the MAP_JIT functionality
- Updating the MoltenVK libvulkan.dylib to a newer version with M1 support
2021-05-22 15:25:17 -07:00
..
AbstractFramebuffer.cpp
AbstractFramebuffer.h
AbstractPipeline.h
AbstractShader.h
AbstractStagingTexture.cpp
AbstractStagingTexture.h
AbstractTexture.cpp Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings 2020-12-16 16:04:19 +01:00
AbstractTexture.h
AsyncRequests.cpp Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncRequests.h Core: Skip duplicate frames when using frame advance 2020-04-09 11:39:29 +02:00
AsyncShaderCompiler.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
AsyncShaderCompiler.h
BoundingBox.cpp VideoCommon/BoundingBox: Move PixelShaderManager::SetBoundingBoxActive() calls into Enable()/Disable() 2019-12-05 11:57:58 -05:00
BoundingBox.h VideoCommon/BoundingBox: Make interface for querying bounding box data 2019-12-05 11:48:42 -05:00
BPFunctions.cpp Update zcompression format change TODO 2021-05-05 11:32:42 +12:00
BPFunctions.h
BPMemory.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
BPMemory.h Split TevStageIndirect::mid into matrix_index and matrix_id 2021-05-07 16:27:52 -07:00
BPStructs.cpp VideoCommon: Fix scissorOffset, handle negative value correctly 2021-04-24 08:46:21 +08:00
BPStructs.h
CMakeLists.txt VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
CommandProcessor.cpp Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
CommandProcessor.h Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
ConstantManager.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
CPMemory.cpp Add names and descriptions for CP registers to the FIFO analyzer 2021-03-06 19:27:14 -08:00
CPMemory.h Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00
DataReader.h DataReader: Make use of if constexpr where applicable 2020-10-20 08:42:32 -04:00
DriverDetails.cpp DriverDetails: Fix broken vector bitwise AND on Mali drivers 2021-04-11 15:15:02 +02:00
DriverDetails.h DriverDetails: Fix broken vector bitwise AND on Mali drivers 2021-04-11 15:15:02 +02:00
Fifo.cpp Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
Fifo.h Fifo: Run/sync with the GPU on command processor register access 2021-04-18 03:24:01 +10:00
FPSCounter.cpp Fix FPS counter and Game Window speed % breaking on pause/unpause 2021-05-06 01:10:04 +03:00
FPSCounter.h Fix FPS counter and Game Window speed % breaking on pause/unpause 2021-05-06 01:10:04 +03:00
FramebufferManager.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
FramebufferManager.h FramebufferManager: Fix invalid readback of EFB D24S8 depth 2020-05-24 15:36:04 +10:00
FramebufferShaderGen.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
FramebufferShaderGen.h
FrameDump.cpp Merge pull request #9275 from JosJuice/framedump-boot-time 2020-12-05 23:57:41 +01:00
FrameDump.h FrameDump: Start timing at 0 ticks when starting from boot 2020-11-27 17:54:08 +01:00
FreeLookCamera.cpp FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future) 2021-03-18 17:54:12 -05:00
FreeLookCamera.h FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future) 2021-03-18 17:54:12 -05:00
GeometryShaderGen.cpp ShaderGenCommon: Rename WriteFmt() to Write() 2020-11-09 02:31:49 -05:00
GeometryShaderGen.h
GeometryShaderManager.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
GeometryShaderManager.h
GXPipelineTypes.h PixelShaderGen: always run indirect stage logic 2021-05-07 16:37:47 -07:00
HiresTextures_DDSLoader.cpp rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
HiresTextures.cpp VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
HiresTextures.h VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
IndexGenerator.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
IndexGenerator.h VideoCommon/IndexGenerator: Eliminate static state 2019-12-05 10:49:32 -05:00
LightingShaderGen.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
LightingShaderGen.h LightingShaderGen: Always calculate lighting for both color channels 2020-11-20 15:54:04 -08:00
LookUpTables.h
NativeVertexFormat.h
NetPlayChatUI.cpp
NetPlayChatUI.h
NetPlayGolfUI.cpp
NetPlayGolfUI.h
OnScreenDisplay.cpp OnScreenDisplay: a few fixes 2021-04-25 15:45:30 +03:00
OnScreenDisplay.h Android: Move OSD out of the way when menu is open 2020-09-16 18:36:15 +02:00
OpcodeDecoding.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
OpcodeDecoding.h
PerfQueryBase.cpp
PerfQueryBase.h Remove all remaining volatile qualifiers 2021-05-15 09:52:04 +02:00
PixelEngine.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
PixelEngine.h
PixelShaderGen.cpp PixelShaderGen: always run indirect stage logic 2021-05-07 16:37:47 -07:00
PixelShaderGen.h PixelShaderGen: always run indirect stage logic 2021-05-07 16:37:47 -07:00
PixelShaderManager.cpp UberShaderPixel: always run indirect stage logic 2021-05-07 16:37:47 -07:00
PixelShaderManager.h
PostProcessing.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
PostProcessing.h
RenderBase.cpp VideoCommon: Account for pixel quads in bounding box calculation 2021-05-22 05:58:52 -04:00
RenderBase.h VideoCommon: Split BBox* functions into common and backend implementation variants 2021-05-22 01:11:57 -04:00
RenderState.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
RenderState.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
SamplerCommon.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
sfont.inc
ShaderCache.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
ShaderCache.h rename Common/File to Common/IOFile 2021-01-27 14:29:48 -08:00
ShaderGenCommon.cpp ShaderGenCommon: Rename WriteFmt() to Write() 2020-11-09 02:31:49 -05:00
ShaderGenCommon.h LightingShaderGen: Always calculate lighting for both color channels 2020-11-20 15:54:04 -08:00
Statistics.cpp
Statistics.h
TextureCacheBase.cpp Merge pull request #9681 from iwubcode/texture-info 2021-05-13 06:44:08 -04:00
TextureCacheBase.h Merge pull request #9681 from iwubcode/texture-info 2021-05-13 06:44:08 -04:00
TextureConfig.cpp
TextureConfig.h
TextureConversionShader.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureConversionShader.h VideoCommon/TextureConversionShader: Convert over to using ShaderCode 2020-01-23 14:19:36 -05:00
TextureConverterShaderGen.cpp Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureConverterShaderGen.h
TextureDecoder_Common.cpp VideoCommon: Migrate over to fmt 2020-11-17 21:23:58 -05:00
TextureDecoder_Generic.cpp
TextureDecoder_Util.h
TextureDecoder_x64.cpp Replace uses of cassert with Common/Assert.h 2021-04-02 10:18:18 -07:00
TextureDecoder.h Convert BPMemory to BitField and enum class 2021-03-06 19:27:19 -08:00
TextureInfo.cpp VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
TextureInfo.h VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
UberShaderCommon.cpp Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderCommon.h Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderPixel.cpp UberShaderPixel: always run indirect stage logic 2021-05-07 16:37:47 -07:00
UberShaderPixel.h VideoCommon/ShaderGenCommon: Make template functions regular functions 2020-05-25 21:12:29 -04:00
UberShaderVertex.cpp Change BitfieldExtract to use a pointer to the bitfield member 2021-05-07 15:11:17 -07:00
UberShaderVertex.h
VertexLoader_Color.cpp Convert VertexLoader_Color to a table 2021-05-07 15:42:11 -07:00
VertexLoader_Color.h Convert VertexLoader_Color to a table 2021-05-07 15:42:11 -07:00
VertexLoader_Normal.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Normal.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Position.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_Position.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_TextCoord.cpp Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader_TextCoord.h Convert CPMemory to BitField and enum class 2021-03-06 19:27:08 -08:00
VertexLoader.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoader.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexLoaderARM64.cpp Apple M1 Support for MacOS 2021-05-22 15:25:17 -07:00
VertexLoaderARM64.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexLoaderBase.cpp Separate vertex components by spaces 2021-05-07 15:42:26 -07:00
VertexLoaderBase.h Separate vertex components by spaces 2021-05-07 15:42:26 -07:00
VertexLoaderManager.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoaderManager.h Remove VertexLoader::ToString 2021-05-07 15:42:13 -07:00
VertexLoaderUtils.h Externals: Add zstd 2020-05-13 20:53:10 +02:00
VertexLoaderX64.cpp Move vertex size and component calculation to VertexLoaderBase 2021-05-07 15:42:17 -07:00
VertexLoaderX64.h Remove VertexLoaderBase::IsInitialized 2021-05-07 15:42:17 -07:00
VertexManagerBase.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexManagerBase.h VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic. 2020-02-09 13:22:25 -06:00
VertexShaderGen.cpp VertexShaderGen: Sonic epsilon hack for OpenGL ES 2021-04-02 15:12:30 +02:00
VertexShaderGen.h Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexShaderManager.cpp Convert XFMemory to BitField and enum class 2021-03-06 19:27:14 -08:00
VertexShaderManager.h VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods 2020-05-03 13:34:13 -05:00
VideoBackendBase.cpp Fix -Wclass-memaccess warnings 2020-12-16 15:37:43 +01:00
VideoBackendBase.h VideoCommon: Get rid of the global g_available_video_backends 2020-10-21 22:00:10 +02:00
VideoCommon.h Implement EFB Peeks for compressed z16 formats 2021-05-05 11:32:29 +12:00
VideoConfig.cpp Core / VideoCommon: Remove old Free Look config 2020-12-24 13:49:25 -06:00
VideoConfig.h Core / VideoCommon: Remove old Free Look config 2020-12-24 13:49:25 -06:00
VideoState.cpp
VideoState.h
XFMemory.cpp
XFMemory.h Skip loading unknown XF registers in the FIFO player 2021-04-06 11:54:49 -07:00
XFStructs.cpp Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00
XFStructs.h Add descriptions for GX_LOAD_INDX_A/B/C/D 2021-05-07 15:42:26 -07:00