aboutsummaryrefslogtreecommitdiff
path: root/vendor/gioui.org/shader/shader.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gioui.org/shader/shader.go')
-rw-r--r--vendor/gioui.org/shader/shader.go65
1 files changed, 65 insertions, 0 deletions
diff --git a/vendor/gioui.org/shader/shader.go b/vendor/gioui.org/shader/shader.go
new file mode 100644
index 0000000..e1263c1
--- /dev/null
+++ b/vendor/gioui.org/shader/shader.go
@@ -0,0 +1,65 @@
+// SPDX-License-Identifier: Unlicense OR MIT
+
+package shader
+
+type Sources struct {
+ Name string
+ SPIRV string
+ GLSL100ES string
+ GLSL150 string
+ DXBC string
+ MetalLib string
+ Uniforms UniformsReflection
+ Inputs []InputLocation
+ Textures []TextureBinding
+ StorageBuffers []BufferBinding
+ Images []ImageBinding
+ WorkgroupSize [3]int
+}
+
+type UniformsReflection struct {
+ Locations []UniformLocation
+ Size int
+}
+
+type ImageBinding struct {
+ Name string
+ Binding int
+}
+
+type BufferBinding struct {
+ Name string
+ Binding int
+}
+
+type TextureBinding 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
+}
+
+type DataType uint8
+
+const (
+ DataTypeFloat DataType = iota
+ DataTypeInt
+ DataTypeShort
+)