diff --git a/internal/shareable/shareable.go b/internal/shareable/shareable.go index 42a1ecb7b..ed7186417 100644 --- a/internal/shareable/shareable.go +++ b/internal/shareable/shareable.go @@ -270,11 +270,6 @@ func (i *Image) allocate(shareable bool) { panic("not reached") } - const ( - initSize = 1024 - maxSize = 4096 - ) - if !shareable || i.width > maxSize || i.height > maxSize { i.backend = &backend{ restorable: restorable.NewImage(i.width, i.height, false), diff --git a/internal/shareable/size_macos.go b/internal/shareable/size_macos.go new file mode 100644 index 000000000..ae265e9e1 --- /dev/null +++ b/internal/shareable/size_macos.go @@ -0,0 +1,29 @@ +// Copyright 2018 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. + +// +build darwin +// +build !ios +// +build !js + +package shareable + +// On MacBook Pro 2013 (Late), there is a bug in texture rendering and +// extending shareable textures sometimes fail (#593). This is due to +// a bug in the grahics driver, and there is nothing we can do. Let's +// not extend shareable textures in such environment. + +const ( + initSize = 4096 + maxSize = 4096 +) diff --git a/internal/shareable/size_notmacos.go b/internal/shareable/size_notmacos.go new file mode 100644 index 000000000..421b9bb0c --- /dev/null +++ b/internal/shareable/size_notmacos.go @@ -0,0 +1,22 @@ +// Copyright 2018 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. + +// +build !darwin ios js + +package shareable + +const ( + initSize = 1024 + maxSize = 4096 +)