diff --git a/internal/graphicsdriver/metal/graphics_darwin.go b/internal/graphicsdriver/metal/graphics_darwin.go index d4ec8be11..73c16767d 100644 --- a/internal/graphicsdriver/metal/graphics_darwin.go +++ b/internal/graphicsdriver/metal/graphics_darwin.go @@ -354,10 +354,6 @@ func init() { // NewGraphics creates an implementation of graphicsdriver.Graphcis for Metal. // The returned graphics value is nil iff the error is not nil. func NewGraphics() (graphicsdriver.Graphics, error) { - if !supportsMetal() { - return nil, fmt.Errorf("metal: Metal is not supported in this environment") - } - // On old mac devices like iMac 2011, Metal is not supported (#779). // TODO: Is there a better way to check whether Metal is available or not? // It seems OK to call MTLCreateSystemDefaultDevice multiple times, so this should be fine. diff --git a/internal/graphicsdriver/metal/graphics_ios.go b/internal/graphicsdriver/metal/graphics_ios.go deleted file mode 100644 index 367a5590f..000000000 --- a/internal/graphicsdriver/metal/graphics_ios.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 The Ebiten Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//go:build ios -// +build ios - -package metal - -func supportsMetal() bool { - return true -} diff --git a/internal/graphicsdriver/metal/graphics_macos_darwin.go b/internal/graphicsdriver/metal/graphics_macos_darwin.go deleted file mode 100644 index ab8fea146..000000000 --- a/internal/graphicsdriver/metal/graphics_macos_darwin.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2022 The Ebiten Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//go:build !ios -// +build !ios - -package metal - -// #cgo CFLAGS: -x objective-c -// #cgo LDFLAGS: -framework Foundation -// -// #import -// -// static int getMacOSMajorVersion() { -// NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion]; -// return (int)version.majorVersion; -// } -// -// static int getMacOSMinorVersion() { -// NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion]; -// return (int)version.minorVersion; -// } -import "C" - -func supportsMetal() bool { - // On macOS 10.11 El Capitan, there is a rendering issue on Metal (#781). - // Use the OpenGL in macOS 10.11 or older. - if C.getMacOSMajorVersion() <= 10 && C.getMacOSMinorVersion() <= 11 { - return false - } - return true -}