diff --git a/internal/ui/graphics_ios_amd64.go b/internal/ui/graphics_ios_amd64.go new file mode 100644 index 000000000..274508b25 --- /dev/null +++ b/internal/ui/graphics_ios_amd64.go @@ -0,0 +1,28 @@ +// 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 && !ebitengl && !ebitencbackend +// +build ios,!ebitengl,!ebitencbackend + +package ui + +import ( + "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" + "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/opengl" +) + +func Graphics() graphicsdriver.Graphics { + // Metal might not be supported on emulators on Intel machines. + return opengl.Get() +} diff --git a/internal/ui/graphics_ios.go b/internal/ui/graphics_ios_arm64.go similarity index 75% rename from internal/ui/graphics_ios.go rename to internal/ui/graphics_ios_arm64.go index 14f6be198..931225017 100644 --- a/internal/ui/graphics_ios.go +++ b/internal/ui/graphics_ios_arm64.go @@ -18,21 +18,14 @@ package ui import ( - "fmt" - "runtime" - "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver" "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/metal" - "github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver/opengl" ) func Graphics() graphicsdriver.Graphics { - if runtime.GOARCH == "386" || runtime.GOARCH == "amd64" { - return opengl.Get() + g := metal.Get() + if g == nil { + panic("ui: Metal is not available on this iOS device") } - - if metal.Get() == nil { - panic(fmt.Sprintf("ui: Metal is not available on this iOS device")) - } - return metal.Get() + return g }