From ae2a70c7b77d70670b194a98a48416c79d4b98ea Mon Sep 17 00:00:00 2001 From: Marius Horga Date: Fri, 30 Jun 2017 23:26:13 -0500 Subject: [PATCH] added metal2 --- README.md | 1 + metal2/metal2.playground/Contents.swift | 22 ++++++++++++++++++ .../metal2.playground/contents.xcplayground | 4 ++++ .../contents.xcworkspacedata | 7 ++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 10171 bytes metal2/metal2.playground/timeline.xctimeline | 11 +++++++++ 6 files changed, 45 insertions(+) create mode 100644 metal2/metal2.playground/Contents.swift create mode 100644 metal2/metal2.playground/contents.xcplayground create mode 100644 metal2/metal2.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 metal2/metal2.playground/playground.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 metal2/metal2.playground/timeline.xctimeline diff --git a/README.md b/README.md index e6ea343..b3a760a 100644 --- a/README.md +++ b/README.md @@ -26,3 +26,4 @@ Repository to accompany the following blog posts: - [Ambient Occlusion in Metal](http://metalkit.org/2017/03/22/ambient-occlusion-in-metal.html) - [Working with memory in Metal](http://metalkit.org/2017/04/30/working-with-memory-in-metal.html) - [Working with memory in Metal part 2](http://metalkit.org/2017/05/26/working-with-memory-in-metal-part-2.html) +- [Introducing Metal 2](http://metalkit.org/2017/06/30/introducing-metal-2.html) diff --git a/metal2/metal2.playground/Contents.swift b/metal2/metal2.playground/Contents.swift new file mode 100644 index 0000000..f270ef8 --- /dev/null +++ b/metal2/metal2.playground/Contents.swift @@ -0,0 +1,22 @@ + +import Metal + +let devices = MTLCopyAllDevices() + +devices[0].name! +devices[0].areRasterOrderGroupsSupported +devices[0].isDepth24Stencil8PixelFormatSupported +devices[0].isLowPower +devices[0].maxThreadsPerThreadgroup.depth +devices[0].maxThreadgroupMemoryLength +devices[0].supportsFeatureSet(MTLFeatureSet.macOS_GPUFamily1_v3) +devices[0].supportsFeatureSet(MTLFeatureSet.macOS_ReadWriteTextureTier2) + +devices[1].name! +devices[1].areRasterOrderGroupsSupported +devices[1].isDepth24Stencil8PixelFormatSupported +devices[1].isLowPower +devices[1].maxThreadsPerThreadgroup.depth +devices[1].maxThreadgroupMemoryLength +devices[1].supportsFeatureSet(MTLFeatureSet.macOS_GPUFamily1_v3) +devices[1].supportsFeatureSet(MTLFeatureSet.macOS_ReadWriteTextureTier2) diff --git a/metal2/metal2.playground/contents.xcplayground b/metal2/metal2.playground/contents.xcplayground new file mode 100644 index 0000000..a93d484 --- /dev/null +++ b/metal2/metal2.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/metal2/metal2.playground/playground.xcworkspace/contents.xcworkspacedata b/metal2/metal2.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..ff53674 --- /dev/null +++ b/metal2/metal2.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/metal2/metal2.playground/playground.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate b/metal2/metal2.playground/playground.xcworkspace/xcuserdata/marius.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4f804abe9c6ba6fce7da401bba5a2c6d55c3fab4 GIT binary patch literal 10171 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 literal 0 HcmV?d00001 diff --git a/metal2/metal2.playground/timeline.xctimeline b/metal2/metal2.playground/timeline.xctimeline new file mode 100644 index 0000000..9389752 --- /dev/null +++ b/metal2/metal2.playground/timeline.xctimeline @@ -0,0 +1,11 @@ + + + + + + +