Skip to content

Commit

Permalink
Revert "internal/atlas: move some functions in internal/restorable to…
Browse files Browse the repository at this point in the history
… internal/atlas"

This reverts commit 3651d73.

Updates #3083
  • Loading branch information
hajimehoshi committed Sep 7, 2024
1 parent a324cfd commit c2c5480
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 10 deletions.
12 changes: 2 additions & 10 deletions internal/atlas/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,6 @@ var (

imagesUsedAsDestination smallImageSet

graphicsDriverInitialized bool

deferred []func()

// deferredM is a mutex for the slice operations. This must not be used for other usages.
Expand Down Expand Up @@ -655,10 +653,6 @@ func (i *Image) finalize() {
}

func (i *Image) allocate(forbiddenBackends []*backend, asSource bool) {
if !graphicsDriverInitialized {
panic("atlas: graphics driver must be ready at allocate but not")
}

if i.backend != nil {
panic("atlas: the image is already allocated")
}
Expand Down Expand Up @@ -821,7 +815,7 @@ func BeginFrame(graphicsDriver graphicsdriver.Graphics) error {

var err error
initOnce.Do(func() {
err = graphicscommand.InitializeGraphicsDriverState(graphicsDriver)
err = restorable.InitializeGraphicsDriverState(graphicsDriver)
if err != nil {
return
}
Expand All @@ -837,10 +831,8 @@ func BeginFrame(graphicsDriver graphicsdriver.Graphics) error {
minDestinationSize = 16
}
if maxSize == 0 {
maxSize = floorPowerOf2(graphicscommand.MaxImageSize(graphicsDriver))
maxSize = floorPowerOf2(restorable.MaxImageSize(graphicsDriver))
}

graphicsDriverInitialized = true
})
if err != nil {
return err
Expand Down
4 changes: 4 additions & 0 deletions internal/restorable/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ type Image struct {
//
// Note that Dispose is not called automatically.
func NewImage(width, height int, imageType ImageType) *Image {
if !graphicsDriverInitialized {
panic("restorable: graphics driver must be ready at NewImage but not")
}

i := &Image{
Image: graphicscommand.NewImage(width, height, imageType == ImageTypeScreen),
width: width,
Expand Down
33 changes: 33 additions & 0 deletions internal/restorable/images.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2017 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.

package restorable

import (
"github.com/hajimehoshi/ebiten/v2/internal/graphicscommand"
"github.com/hajimehoshi/ebiten/v2/internal/graphicsdriver"
)

var graphicsDriverInitialized bool

// InitializeGraphicsDriverState initializes the graphics driver state.
func InitializeGraphicsDriverState(graphicsDriver graphicsdriver.Graphics) error {
graphicsDriverInitialized = true
return graphicscommand.InitializeGraphicsDriverState(graphicsDriver)
}

// MaxImageSize returns the maximum size of an image.
func MaxImageSize(graphicsDriver graphicsdriver.Graphics) int {
return graphicscommand.MaxImageSize(graphicsDriver)
}

0 comments on commit c2c5480

Please sign in to comment.