aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/gpu/backend/backend.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gioui.org/gpu/backend/backend.go')
-rw-r--r--vendor/gioui.org/gpu/backend/backend.go204
1 files changed, 0 insertions, 204 deletions
diff --git a/vendor/gioui.org/gpu/backend/backend.go b/vendor/gioui.org/gpu/backend/backend.go
deleted file mode 100644
index 871eea4..0000000
--- a/vendor/gioui.org/gpu/backend/backend.go
+++ /dev/null
@@ -1,204 +0,0 @@
-// SPDX-License-Identifier: Unlicense OR MIT
-
-package backend
-
-import (
- "image"
- "time"
-)
-
-// Device represents the abstraction of underlying GPU
-// APIs such as OpenGL, Direct3D useful for rendering Gio
-// operations.
-type Device interface {
- BeginFrame()
- EndFrame()
- Caps() Caps
- NewTimer() Timer
- // IsContinuousTime reports whether all timer measurements
- // are valid at the point of call.
- IsTimeContinuous() bool
- NewTexture(format TextureFormat, width, height int, minFilter, magFilter TextureFilter, bindings BufferBinding) (Texture, error)
- CurrentFramebuffer() Framebuffer
- NewFramebuffer(tex Texture, depthBits int) (Framebuffer, error)
- NewImmutableBuffer(typ BufferBinding, data []byte) (Buffer, error)
- NewBuffer(typ BufferBinding, size int) (Buffer, error)
- NewProgram(vertexShader, fragmentShader ShaderSources) (Program, error)
- NewInputLayout(vertexShader ShaderSources, layout []InputDesc) (InputLayout, error)
-
- DepthFunc(f DepthFunc)
- ClearDepth(d float32)
- Clear(r, g, b, a float32)
- Viewport(x, y, width, height int)
- DrawArrays(mode DrawMode, off, count int)
- DrawElements(mode DrawMode, off, count int)
- SetBlend(enable bool)
- SetDepthTest(enable bool)
- DepthMask(mask bool)
- BlendFunc(sfactor, dfactor BlendFactor)
-
- BindInputLayout(i InputLayout)
- BindProgram(p Program)
- BindFramebuffer(f Framebuffer)
- BindTexture(unit int, t Texture)
- BindVertexBuffer(b Buffer, stride, offset int)
- BindIndexBuffer(b Buffer)
-}
-
-type ShaderSources struct {
- GLSL100ES string
- GLSL300ES string
- GLSL130 string
- GLSL150 string
- HLSL []byte
- Uniforms UniformsReflection
- Inputs []InputLocation
- Textures []TextureBinding
-}
-
-type UniformsReflection struct {
- Blocks []UniformBlock
- Locations []UniformLocation
- Size int
-}
-
-type TextureBinding struct {
- Name string
- Binding int
-}
-
-type UniformBlock struct {
- Name string
- Binding int
-}
-
-type UniformLocation struct {
- Name string
- Type DataType
- Size int
- Offset int
-}
-
-type InputLocation struct {
- // For GLSL.
- Name string
- Location int
- // For HLSL.
- Semantic string
- SemanticIndex int
-
- Type DataType
- Size int
-}
-
-// InputDesc describes a vertex attribute as laid out in a Buffer.
-type InputDesc struct {
- Type DataType
- Size int
-
- Offset int
-}
-
-// InputLayout is the backend specific representation of the mapping
-// between Buffers and shader attributes.
-type InputLayout interface {
- Release()
-}
-
-type BlendFactor uint8
-
-type DrawMode uint8
-
-type TextureFilter uint8
-type TextureFormat uint8
-
-type BufferBinding uint8
-
-type DataType uint8
-
-type DepthFunc uint8
-
-type Features uint
-
-type Caps struct {
- Features Features
- MaxTextureSize int
-}
-
-type Program interface {
- Release()
- SetVertexUniforms(buf Buffer)
- SetFragmentUniforms(buf Buffer)
-}
-
-type Buffer interface {
- Release()
- Upload(data []byte)
-}
-
-type Framebuffer interface {
- Invalidate()
- Release()
- ReadPixels(src image.Rectangle, pixels []byte) error
-}
-
-type Timer interface {
- Begin()
- End()
- Duration() (time.Duration, bool)
- Release()
-}
-
-type Texture interface {
- Upload(img *image.RGBA)
- Release()
-}
-
-const (
- DepthFuncGreater DepthFunc = iota
- DepthFuncGreaterEqual
-)
-
-const (
- DataTypeFloat DataType = iota
- DataTypeInt
- DataTypeShort
-)
-
-const (
- BufferBindingIndices BufferBinding = 1 << iota
- BufferBindingVertices
- BufferBindingUniforms
- BufferBindingTexture
- BufferBindingFramebuffer
-)
-
-const (
- TextureFormatSRGB TextureFormat = iota
- TextureFormatFloat
-)
-
-const (
- FilterNearest TextureFilter = iota
- FilterLinear
-)
-
-const (
- FeatureTimers Features = iota
-)
-
-const (
- DrawModeTriangleStrip DrawMode = iota
- DrawModeTriangles
-)
-
-const (
- BlendFactorOne BlendFactor = iota
- BlendFactorOneMinusSrcAlpha
- BlendFactorZero
- BlendFactorDstColor
-)
-
-func (f Features) Has(feats Features) bool {
- return f&feats == feats
-}