Skip to content

Commit

Permalink
Enable building the Metal renderer by default, and weak link the Meta…
Browse files Browse the repository at this point in the history
…l framework so the SDL library is safe to use on older Macs

Also generate iOS versions of the Metal shaders
  • Loading branch information
slouken committed Dec 8, 2017
1 parent 2a2c8d4 commit b2859af
Show file tree
Hide file tree
Showing 6 changed files with 142 additions and 848 deletions.
78 changes: 68 additions & 10 deletions Xcode/SDL/SDL.xcodeproj/project.pbxproj
Expand Up @@ -596,6 +596,21 @@
AAC07107195606770073DCDF /* SDL_opengles2_khrplatform.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC070F8195606770073DCDF /* SDL_opengles2_khrplatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
AADA5B8716CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
AADA5B8816CCAB3000107CF7 /* SDL_bits.h in Headers */ = {isa = PBXBuildFile; fileRef = AADA5B8616CCAB3000107CF7 /* SDL_bits.h */; settings = {ATTRIBUTES = (Public, ); }; };
AADC5A431FDA035D00960936 /* SDL_shaders_metal_osx.h in Headers */ = {isa = PBXBuildFile; fileRef = AADC5A411FDA035D00960936 /* SDL_shaders_metal_osx.h */; };
AADC5A441FDA035D00960936 /* SDL_render_metal.m in Sources */ = {isa = PBXBuildFile; fileRef = AADC5A421FDA035D00960936 /* SDL_render_metal.m */; };
AADC5A451FDA047900960936 /* SDL_render_metal.m in Sources */ = {isa = PBXBuildFile; fileRef = AADC5A421FDA035D00960936 /* SDL_render_metal.m */; };
AADC5A461FDA047B00960936 /* SDL_shaders_metal_osx.h in Headers */ = {isa = PBXBuildFile; fileRef = AADC5A411FDA035D00960936 /* SDL_shaders_metal_osx.h */; };
AADC5A471FDA047E00960936 /* SDL_shaders_metal_osx.h in Headers */ = {isa = PBXBuildFile; fileRef = AADC5A411FDA035D00960936 /* SDL_shaders_metal_osx.h */; };
AADC5A481FDA048100960936 /* SDL_render_metal.m in Sources */ = {isa = PBXBuildFile; fileRef = AADC5A421FDA035D00960936 /* SDL_render_metal.m */; };
AADC5A491FDA05C100960936 /* yuv_rgb.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A7F0F1FB0206300FED37F /* yuv_rgb.h */; };
AADC5A4A1FDA05C200960936 /* yuv_rgb.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A7F0F1FB0206300FED37F /* yuv_rgb.h */; };
AADC5A4B1FDA05CF00960936 /* SDL_yuv_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A7F141FB0209C00FED37F /* SDL_yuv_c.h */; };
AADC5A4C1FDA05CF00960936 /* SDL_yuv_c.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A7F141FB0209C00FED37F /* SDL_yuv_c.h */; };
AADC5A4D1FDA05D300960936 /* SDL_vulkan_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D16644C1EDD6023003DE88E /* SDL_vulkan_internal.h */; };
AADC5A4E1FDA05D400960936 /* SDL_vulkan_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D16644C1EDD6023003DE88E /* SDL_vulkan_internal.h */; };
AADC5A4F1FDA05E600960936 /* SDL_cocoavulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1664511EDD60AD003DE88E /* SDL_cocoavulkan.h */; };
AADC5A501FDA05E600960936 /* SDL_cocoavulkan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1664511EDD60AD003DE88E /* SDL_cocoavulkan.h */; };
AADC5A5B1FDA0E3B00960936 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AADC5A591FDA0E0800960936 /* QuartzCore.framework */; };
BBFC088D164C6647003E6A99 /* SDL_gamecontroller.c in Sources */ = {isa = PBXBuildFile; fileRef = BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */; };
D55A1B81179F262300625D7C /* SDL_cocoamousetap.h in Headers */ = {isa = PBXBuildFile; fileRef = D55A1B7F179F262300625D7C /* SDL_cocoamousetap.h */; };
D55A1B82179F262300625D7C /* SDL_cocoamousetap.m in Sources */ = {isa = PBXBuildFile; fileRef = D55A1B80179F262300625D7C /* SDL_cocoamousetap.m */; };
Expand Down Expand Up @@ -1156,6 +1171,9 @@
AAC070F7195606770073DCDF /* SDL_opengles2_gl2platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_opengles2_gl2platform.h; sourceTree = "<group>"; };
AAC070F8195606770073DCDF /* SDL_opengles2_khrplatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_opengles2_khrplatform.h; sourceTree = "<group>"; };
AADA5B8616CCAB3000107CF7 /* SDL_bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_bits.h; sourceTree = "<group>"; };
AADC5A411FDA035D00960936 /* SDL_shaders_metal_osx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_shaders_metal_osx.h; sourceTree = "<group>"; };
AADC5A421FDA035D00960936 /* SDL_render_metal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDL_render_metal.m; sourceTree = "<group>"; };
AADC5A591FDA0E0800960936 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = QuartzCore.framework; sourceTree = "<group>"; };
BBFC088A164C6514003E6A99 /* SDL_gamecontroller.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_gamecontroller.c; sourceTree = "<group>"; };
BECDF66B0761BA81005FE872 /* Info-Framework.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Framework.plist"; sourceTree = "<group>"; };
BECDF66C0761BA81005FE872 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
Expand All @@ -1178,13 +1196,14 @@
buildActionMask = 2147483647;
files = (
A7381E971D8B6A0300B177DD /* AudioToolbox.framework in Frameworks */,
A7381E961D8B69D600B177DD /* CoreAudio.framework in Frameworks */,
FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */,
00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */,
007317A40858DECD00B2BC32 /* Cocoa.framework in Frameworks */,
007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */,
A7381E961D8B69D600B177DD /* CoreAudio.framework in Frameworks */,
00D0D08410675DD9004B05EF /* CoreFoundation.framework in Frameworks */,
00D0D0D810675E46004B05EF /* Carbon.framework in Frameworks */,
FA73671D19A540EF004122E4 /* CoreVideo.framework in Frameworks */,
00CFA89D106B4BA100758660 /* ForceFeedback.framework in Frameworks */,
007317A60858DECD00B2BC32 /* IOKit.framework in Frameworks */,
AADC5A5B1FDA0E3B00960936 /* QuartzCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1305,6 +1324,7 @@
041B2C9712FA0D680087D585 /* render */ = {
isa = PBXGroup;
children = (
AADC5A401FDA030E00960936 /* metal */,
5C2EF6921FC986D8003F5197 /* opengles2 */,
041B2C9A12FA0D680087D585 /* opengl */,
041B2CA012FA0D680087D585 /* software */,
Expand Down Expand Up @@ -1834,17 +1854,27 @@
path = ../../src/video/yuv2rgb;
sourceTree = SOURCE_ROOT;
};
AADC5A401FDA030E00960936 /* metal */ = {
isa = PBXGroup;
children = (
AADC5A421FDA035D00960936 /* SDL_render_metal.m */,
AADC5A411FDA035D00960936 /* SDL_shaders_metal_osx.h */,
);
path = metal;
sourceTree = "<group>";
};
BEC562FE0761C0E800A33029 /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
A7381E931D8B69C300B177DD /* AudioToolbox.framework */,
A7381E951D8B69D600B177DD /* CoreAudio.framework */,
FA73671C19A540EF004122E4 /* CoreVideo.framework */,
00D0D08310675DD9004B05EF /* CoreFoundation.framework */,
007317C10858E15000B2BC32 /* Carbon.framework */,
0073179D0858DECD00B2BC32 /* Cocoa.framework */,
0073179F0858DECD00B2BC32 /* IOKit.framework */,
A7381E951D8B69D600B177DD /* CoreAudio.framework */,
00D0D08310675DD9004B05EF /* CoreFoundation.framework */,
FA73671C19A540EF004122E4 /* CoreVideo.framework */,
00CFA89C106B4BA100758660 /* ForceFeedback.framework */,
0073179F0858DECD00B2BC32 /* IOKit.framework */,
AADC5A591FDA0E0800960936 /* QuartzCore.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
Expand Down Expand Up @@ -1875,6 +1905,7 @@
buildActionMask = 2147483647;
files = (
AA7557FA1595D4D800BBD41B /* begin_code.h in Headers */,
AADC5A431FDA035D00960936 /* SDL_shaders_metal_osx.h in Headers */,
AA7557FC1595D4D800BBD41B /* close_code.h in Headers */,
AA75585E1595D4D800BBD41B /* SDL.h in Headers */,
AA7557FE1595D4D800BBD41B /* SDL_assert.h in Headers */,
Expand Down Expand Up @@ -2112,14 +2143,17 @@
04BD025D12E6671800899322 /* blank_cursor.h in Headers */,
04BD025E12E6671800899322 /* default_cursor.h in Headers */,
04BD025F12E6671800899322 /* scancodes_darwin.h in Headers */,
AADC5A4F1FDA05E600960936 /* SDL_cocoavulkan.h in Headers */,
5C2EF6FA1FC9EE64003F5197 /* SDL_egl_c.h in Headers */,
04BD026012E6671800899322 /* scancodes_linux.h in Headers */,
04BD026212E6671800899322 /* scancodes_xfree86.h in Headers */,
04BD026412E6671800899322 /* SDL_clipboardevents_c.h in Headers */,
04BD026612E6671800899322 /* SDL_events_c.h in Headers */,
56A67022185654B40007D20F /* SDL_dynapi_procs.h in Headers */,
04BD026812E6671800899322 /* SDL_gesture_c.h in Headers */,
AADC5A4D1FDA05D300960936 /* SDL_vulkan_internal.h in Headers */,
04BD026A12E6671800899322 /* SDL_keyboard_c.h in Headers */,
AADC5A491FDA05C100960936 /* yuv_rgb.h in Headers */,
04BD026C12E6671800899322 /* SDL_mouse_c.h in Headers */,
04BD026E12E6671800899322 /* SDL_sysevents.h in Headers */,
04BD027012E6671800899322 /* SDL_touch_c.h in Headers */,
Expand Down Expand Up @@ -2175,13 +2209,15 @@
04BD040F12E6671800899322 /* SDL_x11video.h in Headers */,
AAC07100195606770073DCDF /* SDL_opengles2_gl2ext.h in Headers */,
04BD041112E6671800899322 /* SDL_x11window.h in Headers */,
AADC5A4B1FDA05CF00960936 /* SDL_yuv_c.h in Headers */,
041B2CAC12FA0D680087D585 /* SDL_sysrender.h in Headers */,
04409B9712FA97ED00FB9AA8 /* SDL_yuv_sw_c.h in Headers */,
04F7803B12FB748500FC43C0 /* SDL_nullframebuffer_c.h in Headers */,
5C2EF6AA1FC98D2D003F5197 /* SDL_shaders_gles2.h in Headers */,
04F7805612FB74A200FC43C0 /* SDL_blendfillrect.h in Headers */,
04F7805812FB74A200FC43C0 /* SDL_blendline.h in Headers */,
04F7805A12FB74A200FC43C0 /* SDL_blendpoint.h in Headers */,
AADC5A461FDA047B00960936 /* SDL_shaders_metal_osx.h in Headers */,
04F7805B12FB74A200FC43C0 /* SDL_draw.h in Headers */,
04F7805D12FB74A200FC43C0 /* SDL_drawline.h in Headers */,
04F7805F12FB74A200FC43C0 /* SDL_drawpoint.h in Headers */,
Expand Down Expand Up @@ -2271,14 +2307,17 @@
DB313F7C17554B71006C0E22 /* blank_cursor.h in Headers */,
DB313F7D17554B71006C0E22 /* default_cursor.h in Headers */,
DB313F7E17554B71006C0E22 /* scancodes_darwin.h in Headers */,
AADC5A501FDA05E600960936 /* SDL_cocoavulkan.h in Headers */,
5C2EF6FD1FC9EE65003F5197 /* SDL_egl_c.h in Headers */,
DB313F7F17554B71006C0E22 /* scancodes_linux.h in Headers */,
DB313F8017554B71006C0E22 /* scancodes_xfree86.h in Headers */,
DB313F8117554B71006C0E22 /* SDL_clipboardevents_c.h in Headers */,
DB313F8217554B71006C0E22 /* SDL_events_c.h in Headers */,
56A67023185654B40007D20F /* SDL_dynapi_procs.h in Headers */,
DB313F8317554B71006C0E22 /* SDL_gesture_c.h in Headers */,
AADC5A4E1FDA05D400960936 /* SDL_vulkan_internal.h in Headers */,
DB313F8417554B71006C0E22 /* SDL_keyboard_c.h in Headers */,
AADC5A4A1FDA05C200960936 /* yuv_rgb.h in Headers */,
DB313F8517554B71006C0E22 /* SDL_mouse_c.h in Headers */,
DB313F8617554B71006C0E22 /* SDL_sysevents.h in Headers */,
DB313F8717554B71006C0E22 /* SDL_touch_c.h in Headers */,
Expand Down Expand Up @@ -2334,13 +2373,15 @@
DB313FB617554B71006C0E22 /* SDL_x11video.h in Headers */,
AAC07101195606770073DCDF /* SDL_opengles2_gl2ext.h in Headers */,
DB313FB717554B71006C0E22 /* SDL_x11window.h in Headers */,
AADC5A4C1FDA05CF00960936 /* SDL_yuv_c.h in Headers */,
DB313FB817554B71006C0E22 /* SDL_sysrender.h in Headers */,
DB313FBA17554B71006C0E22 /* SDL_yuv_sw_c.h in Headers */,
DB313FBB17554B71006C0E22 /* SDL_nullframebuffer_c.h in Headers */,
5C2EF6AE1FC98D2E003F5197 /* SDL_shaders_gles2.h in Headers */,
DB313FBC17554B71006C0E22 /* SDL_blendfillrect.h in Headers */,
DB313FBD17554B71006C0E22 /* SDL_blendline.h in Headers */,
DB313FBE17554B71006C0E22 /* SDL_blendpoint.h in Headers */,
AADC5A471FDA047E00960936 /* SDL_shaders_metal_osx.h in Headers */,
DB313FBF17554B71006C0E22 /* SDL_draw.h in Headers */,
DB313FC017554B71006C0E22 /* SDL_drawline.h in Headers */,
DB313FC117554B71006C0E22 /* SDL_drawpoint.h in Headers */,
Expand Down Expand Up @@ -2609,6 +2650,7 @@
04409B9412FA97ED00FB9AA8 /* SDL_yuv_sw.c in Sources */,
04F7803A12FB748500FC43C0 /* SDL_nullframebuffer.c in Sources */,
04F7804912FB74A200FC43C0 /* SDL_blendfillrect.c in Sources */,
AADC5A441FDA035D00960936 /* SDL_render_metal.m in Sources */,
04F7804B12FB74A200FC43C0 /* SDL_blendline.c in Sources */,
04F7804D12FB74A200FC43C0 /* SDL_blendpoint.c in Sources */,
5C2EF6F81FC9EE35003F5197 /* SDL_egl.c in Sources */,
Expand Down Expand Up @@ -2737,6 +2779,7 @@
04BD040C12E6671800899322 /* SDL_x11touch.c in Sources */,
04BD040E12E6671800899322 /* SDL_x11video.c in Sources */,
04BD041012E6671800899322 /* SDL_x11window.c in Sources */,
AADC5A451FDA047900960936 /* SDL_render_metal.m in Sources */,
041B2CAB12FA0D680087D585 /* SDL_render.c in Sources */,
04409B9812FA97ED00FB9AA8 /* SDL_yuv_sw.c in Sources */,
04F7803C12FB748500FC43C0 /* SDL_nullframebuffer.c in Sources */,
Expand Down Expand Up @@ -2865,6 +2908,7 @@
DB31405517554B71006C0E22 /* SDL_x11touch.c in Sources */,
DB31405617554B71006C0E22 /* SDL_x11video.c in Sources */,
DB31405717554B71006C0E22 /* SDL_x11window.c in Sources */,
AADC5A481FDA048100960936 /* SDL_render_metal.m in Sources */,
DB31405817554B71006C0E22 /* SDL_render.c in Sources */,
DB31405A17554B71006C0E22 /* SDL_yuv_sw.c in Sources */,
DB31405B17554B71006C0E22 /* SDL_nullframebuffer.c in Sources */,
Expand Down Expand Up @@ -2954,10 +2998,17 @@
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
DYLIB_CURRENT_VERSION = 8.0.0;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "Info-Framework.plist";
INSTALL_PATH = "@rpath";
OTHER_LDFLAGS = "-liconv";
OTHER_LDFLAGS = (
"-Wl,-weak_framework,Metal",
"-liconv",
);
PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2;
PRODUCT_NAME = SDL2;
PROVISIONING_PROFILE = "";
Expand Down Expand Up @@ -3043,10 +3094,17 @@
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1.0.0;
DYLIB_CURRENT_VERSION = 8.0.0;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)",
);
FRAMEWORK_VERSION = A;
INFOPLIST_FILE = "Info-Framework.plist";
INSTALL_PATH = "@rpath";
OTHER_LDFLAGS = "-liconv";
OTHER_LDFLAGS = (
"-Wl,-weak_framework,Metal",
"-liconv",
);
PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2;
PRODUCT_NAME = SDL2;
PROVISIONING_PROFILE = "";
Expand Down
47 changes: 31 additions & 16 deletions configure
Expand Up @@ -846,6 +846,7 @@ enable_video_x11_xshape
enable_video_x11_vm
enable_video_vivante
enable_video_cocoa
enable_render_metal
enable_video_directfb
enable_directfb_shared
enable_video_kmsdrm
Expand Down Expand Up @@ -1594,6 +1595,7 @@ Optional Features:
--enable-video-x11-vm use X11 VM extension for fullscreen [[default=yes]]
--enable-video-vivante use Vivante EGL video driver [[default=yes]]
--enable-video-cocoa use Cocoa video driver [[default=yes]]
--enable-render-metal enable the Metal render driver [[default=yes]]
--enable-video-directfb use DirectFB video driver [[default=no]]
--enable-directfb-shared
dynamically load directfb support [[default=yes]]
Expand Down Expand Up @@ -21204,6 +21206,24 @@ $as_echo "#define SDL_VIDEO_DRIVER_COCOA 1" >>confdefs.h
fi
}

CheckMETAL()
{
# Check whether --enable-render-metal was given.
if test "${enable_render_metal+set}" = set; then :
enableval=$enable_render_metal;
else
enable_render_metal=yes
fi

if test x$enable_render = xyes -a x$enable_render_metal = xyes; then

$as_echo "#define SDL_VIDEO_RENDER_METAL 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/render/metal/*.m"
fi
}


CheckDirectFB()
{
# Check whether --enable-video-directfb was given.
Expand Down Expand Up @@ -21358,9 +21378,6 @@ fi

$as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h


$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"

Expand Down Expand Up @@ -22998,12 +23015,6 @@ if test "x$ac_cv_header_dxgi_h" = xyes; then :
fi


ac_fn_c_check_header_mongrel "$LINENO" "xaudio2.h" "ac_cv_header_xaudio2_h" "$ac_includes_default"
if test "x$ac_cv_header_xaudio2_h" = xyes; then :
have_xaudio2=yes
fi


ac_fn_c_check_header_mongrel "$LINENO" "xinput.h" "ac_cv_header_xinput_h" "$ac_includes_default"
if test "x$ac_cv_header_xinput_h" = xyes; then :
have_xinput=yes
Expand Down Expand Up @@ -24005,12 +24016,6 @@ $as_echo "#define SDL_AUDIO_DRIVER_DSOUND 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/audio/directsound/*.c"
fi
if test x$have_xaudio2 = xyes; then

$as_echo "#define SDL_AUDIO_DRIVER_XAUDIO2 1" >>confdefs.h

SOURCES="$SOURCES $srcdir/src/audio/xaudio2/*.c"
fi
if test x$have_wasapi = xyes; then

$as_echo "#define SDL_AUDIO_DRIVER_WASAPI 1" >>confdefs.h
Expand Down Expand Up @@ -24248,8 +24253,9 @@ fi
CheckDiskAudio
CheckDummyAudio
CheckDLOPEN
CheckPTHREAD
CheckMETAL
CheckVulkan
CheckPTHREAD

# Set up files for the audio library
if test x$enable_audio = xyes; then
Expand Down Expand Up @@ -24333,6 +24339,10 @@ $as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGLES"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,UIKit"

if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Metal"
fi
;;
*-*-darwin* )
# This could be either full "Mac OS X", or plain "Darwin" which is
Expand All @@ -24351,6 +24361,7 @@ $as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h
CheckDummyAudio
CheckDLOPEN
CheckCOCOA
CheckMETAL
CheckX11
CheckMacGL
CheckOpenGLX11
Expand Down Expand Up @@ -24420,6 +24431,10 @@ $as_echo "#define SDL_TIMER_UNIX 1" >>confdefs.h
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"

if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuartzCore -Wl,-weak_framework,Metal"
fi
;;
*-nacl|*-pnacl)
ARCH=nacl
Expand Down
8 changes: 6 additions & 2 deletions configure.in
Expand Up @@ -2056,8 +2056,8 @@ AC_HELP_STRING([--enable-video-cocoa], [use Cocoa video driver [[default=yes]]])
CheckMETAL()
{
AC_ARG_ENABLE(render-metal,
AC_HELP_STRING([--enable-render-metal], [enable the Metal render driver [[default=no]]]),
, enable_render_metal=no)
AC_HELP_STRING([--enable-render-metal], [enable the Metal render driver [[default=yes]]]),
, enable_render_metal=yes)
if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
dnl This should maybe make sure you have a supported SDK version.
AC_DEFINE(SDL_VIDEO_RENDER_METAL, 1, [ ])
Expand Down Expand Up @@ -3794,6 +3794,10 @@ AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"

if test x$enable_render = xyes -a x$enable_render_metal = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-weak_framework,QuartzCore -Wl,-weak_framework,Metal"
fi
;;
*-nacl|*-pnacl)
ARCH=nacl
Expand Down

0 comments on commit b2859af

Please sign in to comment.