diff --git a/external/vulkancts/README.md b/external/vulkancts/README.md index ba69a76975..6daf1bfb29 100644 --- a/external/vulkancts/README.md +++ b/external/vulkancts/README.md @@ -105,6 +105,12 @@ If building for 32-bit x86 with GCC, you probably also want to add `-msse2 cmake -DCMAKE_BUILD_TYPE=Debug -DDEQP_TARGET=osx -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 make -j +### iOS + + cmake -GXcode -DDEQP_TARGET=ios -DDE_OS=DE_OS_IOS -DDE_CPU=DE_CPU_ARM_64 -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=16.0 -DCMAKE_OSX_ARCHITECTURES=arm64 + +Open `dEQP-Core-ios.xcodeproj` in Xcode, select the "deqp" scheme, and build. + ### Android Following command will build dEQP.apk: diff --git a/framework/platform/ios/tcuIOSPlatform.hh b/framework/platform/ios/tcuIOSPlatform.hh index dbda3365fb..6a872826bf 100644 --- a/framework/platform/ios/tcuIOSPlatform.hh +++ b/framework/platform/ios/tcuIOSPlatform.hh @@ -65,7 +65,7 @@ public: ContextFactory (ScreenManager* screenManager); ~ContextFactory (void); - glu::RenderContext* createContext (const glu::RenderConfig& config, const tcu::CommandLine& cmdLine) const; + glu::RenderContext* createContext (const glu::RenderConfig& config, const tcu::CommandLine& cmdLine, const glu::RenderContext* sharedContext) const override; private: ScreenManager* const m_screenManager; diff --git a/framework/platform/ios/tcuIOSPlatform.mm b/framework/platform/ios/tcuIOSPlatform.mm index a6625a1e72..ee094840d0 100644 --- a/framework/platform/ios/tcuIOSPlatform.mm +++ b/framework/platform/ios/tcuIOSPlatform.mm @@ -28,6 +28,7 @@ #include "glwInitES20Direct.hpp" #include "glwInitES30Direct.hpp" +#include namespace tcu { @@ -71,8 +72,12 @@ { } -glu::RenderContext* ContextFactory::createContext (const glu::RenderConfig& config, const tcu::CommandLine&) const +glu::RenderContext* ContextFactory::createContext (const glu::RenderConfig& config, const tcu::CommandLine&, const glu::RenderContext* sharedContext) const { + if (sharedContext) { + throw NotSupportedError("sharedContext not supported on iOS"); + } + RawContext* rawContext = new RawContext(config.type); try