shareable: Don't extend textures on macOS

Fixes #593
This commit is contained in:
Hajime Hoshi 2018-06-20 11:56:52 +09:00
parent d83799acf8
commit 55d832fc63
3 changed files with 51 additions and 5 deletions

View File

@ -270,11 +270,6 @@ func (i *Image) allocate(shareable bool) {
panic("not reached") panic("not reached")
} }
const (
initSize = 1024
maxSize = 4096
)
if !shareable || i.width > maxSize || i.height > maxSize { if !shareable || i.width > maxSize || i.height > maxSize {
i.backend = &backend{ i.backend = &backend{
restorable: restorable.NewImage(i.width, i.height, false), restorable: restorable.NewImage(i.width, i.height, false),

View File

@ -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
)

View File

@ -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
)