aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/app/internal/window/d3d11_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gioui.org/app/internal/window/d3d11_windows.go')
-rw-r--r--vendor/gioui.org/app/internal/window/d3d11_windows.go102
1 files changed, 0 insertions, 102 deletions
diff --git a/vendor/gioui.org/app/internal/window/d3d11_windows.go b/vendor/gioui.org/app/internal/window/d3d11_windows.go
deleted file mode 100644
index f1e06a6..0000000
--- a/vendor/gioui.org/app/internal/window/d3d11_windows.go
+++ /dev/null
@@ -1,102 +0,0 @@
-// SPDX-License-Identifier: Unlicense OR MIT
-
-package window
-
-import (
- "gioui.org/app/internal/d3d11"
- "gioui.org/gpu/backend"
-)
-
-type d3d11Context struct {
- win *window
- swchain *d3d11.SwapChain
- fbo *d3d11.Framebuffer
- backend backend.Device
- *d3d11.Device
- width, height int
-}
-
-func init() {
- backends = append(backends, gpuAPI{
- priority: 1,
- initializer: func(w *window) (Context, error) {
- hwnd, _, _ := w.HWND()
- dev, err := d3d11.NewDevice()
- if err != nil {
- return nil, err
- }
- swchain, err := dev.CreateSwapChain(hwnd)
- if err != nil {
- dev.Release()
- return nil, err
- }
- return &d3d11Context{win: w, Device: dev, swchain: swchain}, nil
- },
- })
-}
-
-func (c *d3d11Context) Backend() (backend.Device, error) {
- backend, err := d3d11.NewBackend(c.Device)
- if err != nil {
- return nil, err
- }
- c.backend = backend
- c.backend.BindFramebuffer(c.fbo)
- return backend, nil
-}
-
-func (c *d3d11Context) Present() error {
- if err := c.swchain.Present(); err != nil {
- if err, ok := err.(d3d11.ErrorCode); ok {
- switch err.Code {
- case d3d11.DXGI_STATUS_OCCLUDED:
- // Ignore
- return nil
- case d3d11.DXGI_ERROR_DEVICE_RESET, d3d11.DXGI_ERROR_DEVICE_REMOVED, d3d11.D3DDDIERR_DEVICEREMOVED:
- return ErrDeviceLost
- }
- }
- }
- return nil
-}
-
-func (c *d3d11Context) MakeCurrent() error {
- _, width, height := c.win.HWND()
- if c.fbo != nil && width == c.width && height == c.height {
- c.backend.BindFramebuffer(c.fbo)
- return nil
- }
- if c.fbo != nil {
- c.fbo.Release()
- c.fbo = nil
- }
- if err := c.swchain.Resize(); err != nil {
- return err
- }
- c.width = width
- c.height = height
- fbo, err := c.swchain.Framebuffer(c.Device)
- if err != nil {
- return err
- }
- c.fbo = fbo
- if c.backend != nil {
- c.backend.BindFramebuffer(c.fbo)
- }
- return nil
-}
-
-func (c *d3d11Context) Lock() {}
-
-func (c *d3d11Context) Unlock() {}
-
-func (c *d3d11Context) Release() {
- if c.fbo != nil {
- c.fbo.Release()
- }
- c.swchain.Release()
- c.Device.Release()
- c.fbo = nil
- c.swchain = nil
- c.Device = nil
-}