From effd3c06edd43170dc45cd32797e05614ae8acf9 Mon Sep 17 00:00:00 2001 From: Lokbondo Kung Date: Tue, 2 Jul 2024 15:04:44 -0700 Subject: [PATCH] Adds 'make fix' command to keep yml file(s) organized (#306) * Adds 'make fix' command to keep yml file(s) organized - Adds dependency on yq library to help with formatting - Adds new go script to format the current webgpu.yml file - Formats the existing webgpu.yml file so that all the arrays of types are sorted alphabetically. - Note: one down-side of this is that all the newlines are dropped in the yml file. We may be able to add another layer of formatting later on if this is desired. --- Makefile | 10 +- fix/main.go | 33 ++ go.mod | 29 +- go.sum | 64 +++ webgpu.yml | 1462 +++++++++++++++++++++++---------------------------- 5 files changed, 785 insertions(+), 813 deletions(-) create mode 100644 fix/main.go diff --git a/Makefile b/Makefile index 33959f27..6a66b5a2 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,22 @@ .PHONY: gen gen-check doc +fix: webgpu.yml + go run ./fix -yaml webgpu.yml + gen: schema.json webgpu.yml go run ./gen -schema schema.json -yaml webgpu.yml -header webgpu.h -gen-check: gen +gen-check: fix gen @git diff --quiet -- webgpu.h || { \ echo "error: The re-generated header from yml doesn't match the checked-in header"; \ git diff -- webgpu.h; \ exit 1; \ } + @git diff --quiet -- webgpu.yml || { \ + echo "error: Please re-run 'make fix' to format the yml"; \ + git diff -- webgpu.yml; \ + exit 1; \ + } doc: webgpu.h Doxyfile doxygen Doxyfile diff --git a/fix/main.go b/fix/main.go new file mode 100644 index 00000000..2933ac18 --- /dev/null +++ b/fix/main.go @@ -0,0 +1,33 @@ +package main + +import ( + "flag" + "fmt" + "os" + + command "github.com/mikefarah/yq/v4/cmd" +) + +var ( + yamlPath string +) + +func main() { + flag.StringVar(&yamlPath, "yaml", "", "path of the yaml spec") + flag.Parse() + + arrays := []string{"constants", "typedefs", "enums", "bitflags", "function_types", "structs", "functions", "objects"} + for _, array := range arrays { + SortArrayByFieldInPlace(array, "name") + } +} + +func SortArrayByFieldInPlace(array string, field string) { + args := []string{"eval", "-i", fmt.Sprintf(".%s |= sort_by(.%s | downcase)", array, field), yamlPath} + + cmd := command.New() + cmd.SetArgs(args) + if err := cmd.Execute(); err != nil { + os.Exit(1) + } +} \ No newline at end of file diff --git a/go.mod b/go.mod index 03dd2c6a..ed383d03 100644 --- a/go.mod +++ b/go.mod @@ -3,14 +3,31 @@ module github.com/webgpu-native/webgpu-headers go 1.21 require ( - github.com/goccy/go-yaml v1.11.2 + github.com/goccy/go-yaml v1.11.3 github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 ) require ( - github.com/fatih/color v1.10.0 // indirect - github.com/mattn/go-colorable v0.1.8 // indirect - github.com/mattn/go-isatty v0.0.12 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + github.com/a8m/envsubst v1.4.2 // indirect + github.com/alecthomas/participle/v2 v2.1.1 // indirect + github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/elliotchance/orderedmap v1.6.0 // indirect + github.com/fatih/color v1.17.0 // indirect + github.com/goccy/go-json v0.10.3 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jinzhu/copier v0.4.0 // indirect + github.com/magiconair/properties v1.8.7 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mikefarah/yq/v4 v4.44.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/spf13/cobra v1.8.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/yuin/gopher-lua v1.1.1 // indirect + golang.org/x/net v0.26.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/text v0.16.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 742ba4c0..8b0b84e0 100644 --- a/go.sum +++ b/go.sum @@ -1,28 +1,92 @@ +github.com/a8m/envsubst v1.4.2 h1:4yWIHXOLEJHQEFd4UjrWDrYeYlV7ncFWJOCBRLOZHQg= +github.com/a8m/envsubst v1.4.2/go.mod h1:MVUTQNGQ3tsjOOtKCNd+fl8RzhsXcDvvAEzkhGtlsbY= +github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6icjJvbsmV8= +github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/elliotchance/orderedmap v1.6.0 h1:xjn+kbbKXeDq6v9RVE+WYwRbYfAZKvlWfcJNxM8pvEw= +github.com/elliotchance/orderedmap v1.6.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= +github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.11.2 h1:joq77SxuyIs9zzxEjgyLBugMQ9NEgTWxXfz2wVqwAaQ= github.com/goccy/go-yaml v1.11.2/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= +github.com/goccy/go-yaml v1.11.3 h1:B3W9IdWbvrUu2OYQGwvU1nZtvMQJPBKgBUuweJjLj6I= +github.com/goccy/go-yaml v1.11.3/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= +github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mikefarah/yq/v4 v4.44.2 h1:J+ezWCDTg+SUs0jXdcE0HIPH1+rEr0Tbn9Y1SwiWtH0= +github.com/mikefarah/yq/v4 v4.44.2/go.mod h1:9bnz36uZJDEyxdIjRronBcqStS953k3y3DrSRXr4F/w= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= +github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 h1:6D+BvnJ/j6e222UW8s2qTSe3wGBtvo0MbVQG/c5k8RE= +gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473/go.mod h1:N1eN2tsCx0Ydtgjl4cqmbRCsY4/+z4cYDeqwZTk6zog= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/webgpu.yml b/webgpu.yml index 436bbee3..4fd3b088 100644 --- a/webgpu.yml +++ b/webgpu.yml @@ -2,10 +2,8 @@ copyright: | Copyright 2019-2023 WebGPU-Native developers SPDX-License-Identifier: BSD-3-Clause - name: webgpu enum_prefix: '0x0000' - constants: - name: array_layer_count_undefined value: uint32_max @@ -43,27 +41,8 @@ constants: value: uint64_max doc: | TODO - typedefs: [] - enums: - - name: request_adapter_status - doc: | - TODO - entries: - - name: success - doc: | - TODO - - name: unavailable - doc: | - TODO - - name: error - doc: | - TODO - - name: unknown - doc: | - TODO - - name: adapter_type doc: | TODO @@ -80,7 +59,6 @@ enums: - name: unknown doc: | TODO - - name: address_mode doc: | TODO @@ -94,7 +72,6 @@ enums: - name: clamp_to_edge doc: | TODO - - name: backend_type doc: | TODO @@ -126,81 +103,6 @@ enums: - name: openGLES doc: | TODO - - - name: buffer_binding_type - doc: | - TODO - entries: - - name: undefined - doc: | - TODO - - name: uniform - doc: | - TODO - - name: storage - doc: | - TODO - - name: read_only_storage - doc: | - TODO - - - name: sampler_binding_type - doc: | - TODO - entries: - - name: undefined - doc: | - TODO - - name: filtering - doc: | - TODO - - name: non_filtering - doc: | - TODO - - name: comparison - doc: | - TODO - - - name: texture_sample_type - doc: | - TODO - entries: - - name: undefined - doc: | - TODO - - name: float - doc: | - TODO - - name: unfilterable_float - doc: | - TODO - - name: depth - doc: | - TODO - - name: sint - doc: | - TODO - - name: uint - doc: | - TODO - - - name: storage_texture_access - doc: | - TODO - entries: - - name: undefined - doc: | - TODO - - name: write_only - doc: | - TODO - - name: read_only - doc: | - TODO - - name: read_write - doc: | - TODO - - name: blend_factor doc: | TODO @@ -244,7 +146,6 @@ enums: - name: one_minus_constant doc: | TODO - - name: blend_operation doc: | TODO @@ -264,7 +165,22 @@ enums: - name: max doc: | TODO - + - name: buffer_binding_type + doc: | + TODO + entries: + - name: undefined + doc: | + TODO + - name: uniform + doc: | + TODO + - name: storage + doc: | + TODO + - name: read_only_storage + doc: | + TODO - name: buffer_map_async_status doc: | TODO @@ -296,7 +212,6 @@ enums: - name: size_out_of_range doc: | TODO - - name: buffer_map_state doc: | TODO @@ -310,7 +225,6 @@ enums: - name: mapped doc: | TODO - - name: compare_function doc: | TODO @@ -342,7 +256,6 @@ enums: - name: always doc: | TODO - - name: compilation_info_request_status doc: | TODO @@ -359,7 +272,6 @@ enums: - name: unknown doc: | TODO - - name: compilation_message_type doc: | TODO @@ -373,7 +285,6 @@ enums: - name: info doc: | TODO - - name: composite_alpha_mode doc: | TODO @@ -393,7 +304,6 @@ enums: - name: inherit doc: | TODO - - name: create_pipeline_async_status doc: | TODO @@ -416,7 +326,6 @@ enums: - name: unknown doc: | TODO - - name: cull_mode doc: | TODO @@ -430,7 +339,6 @@ enums: - name: back doc: | TODO - - name: device_lost_reason doc: | TODO @@ -443,7 +351,6 @@ enums: value: 0x0002 doc: | TODO - - name: error_filter doc: | TODO @@ -457,7 +364,6 @@ enums: - name: internal doc: | TODO - - name: error_type doc: | TODO @@ -480,7 +386,6 @@ enums: - name: device_lost doc: | TODO - - name: feature_name doc: | TODO @@ -521,7 +426,6 @@ enums: - name: float32_filterable doc: | TODO - - name: filter_mode doc: | TODO @@ -532,7 +436,6 @@ enums: - name: linear doc: | TODO - - name: front_face doc: | TODO @@ -543,7 +446,6 @@ enums: - name: CW doc: | TODO - - name: index_format doc: | TODO @@ -557,21 +459,6 @@ enums: - name: uint32 doc: | TODO - - - name: vertex_step_mode - doc: | - TODO - entries: - - name: vertex - doc: | - TODO - - name: instance - doc: | - TODO - - name: vertex_buffer_not_used - doc: | - TODO - - name: load_op doc: | TODO @@ -585,7 +472,6 @@ enums: - name: load doc: | TODO - - name: mipmap_filter_mode doc: | TODO @@ -596,21 +482,6 @@ enums: - name: linear doc: | TODO - - - name: store_op - doc: | - TODO - entries: - - name: undefined - doc: | - TODO - - name: store - doc: | - TODO - - name: discard - doc: | - TODO - - name: power_preference doc: | TODO @@ -624,7 +495,6 @@ enums: - name: high_performance doc: | TODO - - name: present_mode doc: | TODO @@ -641,7 +511,6 @@ enums: - name: mailbox doc: | TODO - - name: primitive_topology doc: | TODO @@ -661,7 +530,6 @@ enums: - name: triangle_strip doc: | TODO - - name: query_type doc: | TODO @@ -672,7 +540,6 @@ enums: - name: timestamp doc: | TODO - - name: queue_work_done_status doc: | TODO @@ -689,50 +556,35 @@ enums: - name: device_lost doc: | TODO - - - name: request_device_status + - name: request_adapter_status doc: | TODO entries: - name: success doc: | TODO + - name: unavailable + doc: | + TODO - name: error doc: | TODO - name: unknown doc: | TODO - - - name: stencil_operation + - name: request_device_status doc: | TODO entries: - - name: keep - doc: | - TODO - - name: zero - doc: | - TODO - - name: replace - doc: | - TODO - - name: invert - doc: | - TODO - - name: increment_clamp - doc: | - TODO - - name: decrement_clamp + - name: success doc: | TODO - - name: increment_wrap + - name: error doc: | TODO - - name: decrement_wrap + - name: unknown doc: | TODO - - name: s_type doc: | TODO @@ -774,81 +626,150 @@ enums: value: 0x000F doc: | TODO - - - name: surface_get_current_texture_status + - name: sampler_binding_type doc: | TODO entries: - - name: success + - name: undefined doc: | TODO - - name: timeout + - name: filtering doc: | TODO - - name: outdated + - name: non_filtering doc: | TODO - - name: lost + - name: comparison doc: | TODO - - name: out_of_memory + - name: stencil_operation + doc: | + TODO + entries: + - name: keep doc: | TODO - - name: device_lost + - name: zero doc: | TODO - - - name: texture_aspect - doc: | - TODO - entries: - - name: all + - name: replace doc: | TODO - - name: stencil_only + - name: invert doc: | TODO - - name: depth_only + - name: increment_clamp doc: | TODO - - - name: texture_dimension - doc: | - TODO - entries: - - name: 1D + - name: decrement_clamp doc: | TODO - - name: 2D + - name: increment_wrap doc: | TODO - - name: 3D + - name: decrement_wrap doc: | TODO - - - name: texture_format + - name: storage_texture_access doc: | TODO entries: - name: undefined doc: | TODO - - name: R8_unorm + - name: write_only doc: | TODO - - name: R8_snorm + - name: read_only doc: | TODO - - name: R8_uint + - name: read_write doc: | TODO - - name: R8_sint + - name: store_op + doc: | + TODO + entries: + - name: undefined doc: | TODO - - name: R16_uint + - name: store doc: | TODO - - name: R16_sint + - name: discard + doc: | + TODO + - name: surface_get_current_texture_status + doc: | + TODO + entries: + - name: success + doc: | + TODO + - name: timeout + doc: | + TODO + - name: outdated + doc: | + TODO + - name: lost + doc: | + TODO + - name: out_of_memory + doc: | + TODO + - name: device_lost + doc: | + TODO + - name: texture_aspect + doc: | + TODO + entries: + - name: all + doc: | + TODO + - name: stencil_only + doc: | + TODO + - name: depth_only + doc: | + TODO + - name: texture_dimension + doc: | + TODO + entries: + - name: 1D + doc: | + TODO + - name: 2D + doc: | + TODO + - name: 3D + doc: | + TODO + - name: texture_format + doc: | + TODO + entries: + - name: undefined + doc: | + TODO + - name: R8_unorm + doc: | + TODO + - name: R8_snorm + doc: | + TODO + - name: R8_uint + doc: | + TODO + - name: R8_sint + doc: | + TODO + - name: R16_uint + doc: | + TODO + - name: R16_sint doc: | TODO - name: R16_float @@ -1118,7 +1039,28 @@ enums: - name: ASTC_12x12_unorm_srgb doc: | TODO - + - name: texture_sample_type + doc: | + TODO + entries: + - name: undefined + doc: | + TODO + - name: float + doc: | + TODO + - name: unfilterable_float + doc: | + TODO + - name: depth + doc: | + TODO + - name: sint + doc: | + TODO + - name: uint + doc: | + TODO - name: texture_view_dimension doc: | TODO @@ -1144,7 +1086,6 @@ enums: - name: 3D doc: | TODO - - name: vertex_format doc: | TODO @@ -1242,7 +1183,19 @@ enums: - name: sint32x4 doc: | TODO - + - name: vertex_step_mode + doc: | + TODO + entries: + - name: vertex + doc: | + TODO + - name: instance + doc: | + TODO + - name: vertex_buffer_not_used + doc: | + TODO - name: WGSL_feature_name doc: | TODO @@ -1262,7 +1215,6 @@ enums: - name: pointer_composite_access doc: | TODO - bitflags: - name: buffer_usage doc: | @@ -1301,7 +1253,6 @@ bitflags: - name: query_resolve doc: | TODO - - name: color_write_mask doc: | TODO @@ -1330,7 +1281,6 @@ bitflags: - alpha doc: | TODO - - name: map_mode doc: | TODO @@ -1344,7 +1294,6 @@ bitflags: - name: write doc: | TODO - - name: shader_stage doc: | TODO @@ -1361,7 +1310,6 @@ bitflags: - name: compute doc: | TODO - - name: texture_usage doc: | TODO @@ -1384,7 +1332,6 @@ bitflags: - name: render_attachment doc: | TODO - function_types: - name: device_lost_callback doc: | @@ -1403,7 +1350,6 @@ function_types: TODO type: c_void pointer: mutable - - name: error_callback doc: | TODO @@ -1421,31 +1367,7 @@ function_types: TODO type: c_void pointer: mutable - structs: - - name: request_adapter_options - doc: | - TODO - type: base_in - members: - - name: compatible_surface - doc: | - TODO - type: object.surface - optional: true - - name: power_preference - doc: | - TODO - type: enum.power_preference - - name: backend_type - doc: | - TODO - type: enum.backend_type - - name: force_fallback_adapter - doc: | - TODO - type: bool - - name: adapter_info doc: | TODO @@ -1484,8 +1406,7 @@ structs: doc: | TODO type: uint32 - - - name: device_descriptor + - name: bind_group_descriptor doc: | TODO type: base_in @@ -1495,35 +1416,15 @@ structs: TODO type: string optional: true - - name: required_features + - name: layout doc: | TODO - type: array - pointer: immutable - - name: required_limits + type: object.bind_group_layout + - name: entries doc: | TODO - type: struct.required_limits + type: array pointer: immutable - optional: true - - name: default_queue - doc: | - TODO - type: struct.queue_descriptor - - name: device_lost_callback - doc: | - TODO - type: function_type.device_lost_callback - - name: device_lost_userdata - doc: | - TODO - type: c_void - pointer: mutable - - name: uncaptured_error_callback_info - doc: | - TODO - type: function_type.uncaptured_error_callback_info - - name: bind_group_entry doc: | TODO @@ -1556,8 +1457,7 @@ structs: TODO type: object.texture_view optional: true - - - name: bind_group_descriptor + - name: bind_group_layout_descriptor doc: | TODO type: base_in @@ -1567,209 +1467,87 @@ structs: TODO type: string optional: true - - name: layout - doc: | - TODO - type: object.bind_group_layout - name: entries doc: | TODO - type: array + type: array pointer: immutable - - - name: buffer_binding_layout + - name: bind_group_layout_entry doc: | TODO type: base_in members: - - name: type + - name: binding doc: | TODO - type: enum.buffer_binding_type - - name: has_dynamic_offset + type: uint32 + - name: visibility doc: | TODO - type: bool - - name: min_binding_size + type: bitflag.shader_stage + - name: buffer doc: | TODO - type: uint64 - - - name: sampler_binding_layout - doc: | - TODO - type: base_in - members: - - name: type + type: struct.buffer_binding_layout + - name: sampler doc: | TODO - type: enum.sampler_binding_type - - - name: texture_binding_layout + type: struct.sampler_binding_layout + - name: texture + doc: | + TODO + type: struct.texture_binding_layout + - name: storage_texture + doc: | + TODO + type: struct.storage_texture_binding_layout + - name: blend_component doc: | TODO - type: base_in + type: standalone members: - - name: sample_type + - name: operation doc: | TODO - type: enum.texture_sample_type - - name: view_dimension + type: enum.blend_operation + - name: src_factor doc: | TODO - type: enum.texture_view_dimension - - name: multisampled + type: enum.blend_factor + - name: dst_factor doc: | TODO - type: bool - - - name: surface_capabilities + type: enum.blend_factor + - name: blend_state doc: | TODO - type: base_out - free_members: true + type: standalone members: - - name: usages + - name: color doc: | TODO - type: bitflag.texture_usage - - name: formats + type: struct.blend_component + - name: alpha doc: | TODO - type: array - pointer: immutable - - name: present_modes + type: struct.blend_component + - name: buffer_binding_layout + doc: | + TODO + type: base_in + members: + - name: type doc: | TODO - type: array - pointer: immutable - - name: alpha_modes - doc: | - TODO - type: array - pointer: immutable - - - name: surface_configuration - doc: | - TODO - type: base_in - members: - - name: device - doc: | - TODO - type: object.device - - name: format - doc: | - TODO - type: enum.texture_format - - name: usage - doc: | - TODO - type: bitflag.texture_usage - - name: view_formats - doc: | - TODO - type: array - pointer: immutable - - name: alpha_mode - doc: | - TODO - type: enum.composite_alpha_mode - - name: width - doc: | - TODO - type: uint32 - - name: height - doc: | - TODO - type: uint32 - - name: present_mode - doc: | - TODO - type: enum.present_mode - - - name: storage_texture_binding_layout - doc: | - TODO - type: base_in - members: - - name: access - doc: | - TODO - type: enum.storage_texture_access - - name: format - doc: | - TODO - type: enum.texture_format - - name: view_dimension - doc: | - TODO - type: enum.texture_view_dimension - - - name: bind_group_layout_entry - doc: | - TODO - type: base_in - members: - - name: binding - doc: | - TODO - type: uint32 - - name: visibility - doc: | - TODO - type: bitflag.shader_stage - - name: buffer - doc: | - TODO - type: struct.buffer_binding_layout - - name: sampler - doc: | - TODO - type: struct.sampler_binding_layout - - name: texture - doc: | - TODO - type: struct.texture_binding_layout - - name: storage_texture - doc: | - TODO - type: struct.storage_texture_binding_layout - - - name: bind_group_layout_descriptor - doc: | - TODO - type: base_in - members: - - name: label - doc: | - TODO - type: string - optional: true - - name: entries - doc: | - TODO - type: array - pointer: immutable - - - name: blend_component - doc: | - TODO - type: standalone - members: - - name: operation - doc: | - TODO - type: enum.blend_operation - - name: src_factor + type: enum.buffer_binding_type + - name: has_dynamic_offset doc: | TODO - type: enum.blend_factor - - name: dst_factor + type: bool + - name: min_binding_size doc: | TODO - type: enum.blend_factor - + type: uint64 - name: buffer_descriptor doc: | TODO @@ -1792,7 +1570,6 @@ structs: doc: | TODO type: bool - - name: color doc: | TODO @@ -1814,21 +1591,25 @@ structs: doc: | TODO type: float64 - - - name: constant_entry + - name: color_target_state doc: | TODO type: base_in members: - - name: key + - name: format doc: | TODO - type: string - - name: value + type: enum.texture_format + - name: blend doc: | TODO - type: float64 - + type: struct.blend_state + pointer: immutable + optional: true + - name: write_mask + doc: | + TODO + type: bitflag.color_write_mask - name: command_buffer_descriptor doc: | TODO @@ -1839,7 +1620,6 @@ structs: TODO type: string optional: true - - name: command_encoder_descriptor doc: | TODO @@ -1850,7 +1630,6 @@ structs: TODO type: string optional: true - - name: compilation_info doc: | TODO @@ -1861,7 +1640,6 @@ structs: TODO type: array pointer: immutable - - name: compilation_message doc: | TODO @@ -1904,7 +1682,6 @@ structs: doc: | TODO type: uint64 - - name: compute_pass_descriptor doc: | TODO @@ -1921,7 +1698,6 @@ structs: type: struct.compute_pass_timestamp_writes pointer: immutable optional: true - - name: compute_pass_timestamp_writes doc: | TODO @@ -1939,7 +1715,6 @@ structs: doc: | TODO type: uint32 - - name: compute_pipeline_descriptor doc: | TODO @@ -1959,7 +1734,181 @@ structs: doc: | TODO type: struct.programmable_stage_descriptor - + - name: constant_entry + doc: | + TODO + type: base_in + members: + - name: key + doc: | + TODO + type: string + - name: value + doc: | + TODO + type: float64 + - name: depth_stencil_state + doc: | + TODO + type: base_in + members: + - name: format + doc: | + TODO + type: enum.texture_format + - name: depth_write_enabled + doc: | + TODO + type: bool + - name: depth_compare + doc: | + TODO + type: enum.compare_function + - name: stencil_front + doc: | + TODO + type: struct.stencil_face_state + - name: stencil_back + doc: | + TODO + type: struct.stencil_face_state + - name: stencil_read_mask + doc: | + TODO + type: uint32 + - name: stencil_write_mask + doc: | + TODO + type: uint32 + - name: depth_bias + doc: | + TODO + type: int32 + - name: depth_bias_slope_scale + doc: | + TODO + type: float32 + - name: depth_bias_clamp + doc: | + TODO + type: float32 + - name: device_descriptor + doc: | + TODO + type: base_in + members: + - name: label + doc: | + TODO + type: string + optional: true + - name: required_features + doc: | + TODO + type: array + pointer: immutable + - name: required_limits + doc: | + TODO + type: struct.required_limits + pointer: immutable + optional: true + - name: default_queue + doc: | + TODO + type: struct.queue_descriptor + - name: device_lost_callback + doc: | + TODO + type: function_type.device_lost_callback + - name: device_lost_userdata + doc: | + TODO + type: c_void + pointer: mutable + - name: uncaptured_error_callback_info + doc: | + TODO + type: function_type.uncaptured_error_callback_info + - name: extent_3D + doc: | + TODO + type: standalone + members: + - name: width + doc: | + TODO + type: uint32 + - name: height + doc: | + TODO + type: uint32 + - name: depth_or_array_layers + doc: | + TODO + type: uint32 + - name: fragment_state + doc: | + TODO + type: base_in + members: + - name: module + doc: | + TODO + type: object.shader_module + - name: entry_point + doc: | + TODO + type: string + optional: true + - name: constants + doc: | + TODO + type: array + pointer: immutable + - name: targets + doc: | + TODO + type: array + pointer: immutable + - name: image_copy_buffer + doc: | + TODO + type: base_in + members: + - name: layout + doc: | + TODO + type: struct.texture_data_layout + - name: buffer + doc: | + TODO + type: object.buffer + - name: image_copy_texture + doc: | + TODO + type: base_in + members: + - name: texture + doc: | + TODO + type: object.texture + - name: mip_level + doc: | + TODO + type: uint32 + - name: origin + doc: | + TODO + type: struct.origin_3D + - name: aspect + doc: | + TODO + type: enum.texture_aspect + - name: instance_descriptor + doc: | + TODO + type: base_in - name: limits doc: | TODO @@ -2093,123 +2042,23 @@ structs: doc: | TODO type: uint32 - - - name: required_limits - doc: | - TODO - type: base_in - members: - - name: limits - doc: | - TODO - type: struct.limits - - - name: supported_limits - doc: | - TODO - type: base_out - members: - - name: limits - doc: | - TODO - type: struct.limits - - - name: extent_3D - doc: | - TODO - type: standalone - members: - - name: width - doc: | - TODO - type: uint32 - - name: height - doc: | - TODO - type: uint32 - - name: depth_or_array_layers - doc: | - TODO - type: uint32 - - - name: image_copy_buffer - doc: | - TODO - type: base_in - members: - - name: layout - doc: | - TODO - type: struct.texture_data_layout - - name: buffer - doc: | - TODO - type: object.buffer - - - name: image_copy_texture + - name: multisample_state doc: | TODO type: base_in members: - - name: texture - doc: | - TODO - type: object.texture - - name: mip_level + - name: count doc: | TODO type: uint32 - - name: origin - doc: | - TODO - type: struct.origin_3D - - name: aspect - doc: | - TODO - type: enum.texture_aspect - - - name: instance_descriptor - doc: | - TODO - type: base_in - - - name: vertex_attribute - doc: | - TODO - type: standalone - members: - - name: format - doc: | - TODO - type: enum.vertex_format - - name: offset - doc: | - TODO - type: uint64 - - name: shader_location + - name: mask doc: | TODO type: uint32 - - - name: vertex_buffer_layout - doc: | - TODO - type: standalone - members: - - name: array_stride - doc: | - TODO - type: uint64 - - name: step_mode - doc: | - TODO - type: enum.vertex_step_mode - - name: attributes + - name: alpha_to_coverage_enabled doc: | TODO - type: array - pointer: immutable - + type: bool - name: origin_3D doc: | TODO @@ -2227,7 +2076,6 @@ structs: doc: | TODO type: uint32 - - name: pipeline_layout_descriptor doc: | TODO @@ -2243,7 +2091,38 @@ structs: TODO type: array pointer: immutable - + - name: primitive_depth_clip_control + doc: | + TODO + type: extension_in + extends: + - primitive_state + members: + - name: unclipped_depth + doc: | + TODO + type: bool + - name: primitive_state + doc: | + TODO + type: base_in + members: + - name: topology + doc: | + TODO + type: enum.primitive_topology + - name: strip_index_format + doc: | + TODO + type: enum.index_format + - name: front_face + doc: | + TODO + type: enum.front_face + - name: cull_mode + doc: | + TODO + type: enum.cull_mode - name: programmable_stage_descriptor doc: | TODO @@ -2263,7 +2142,6 @@ structs: TODO type: array pointer: immutable - - name: query_set_descriptor doc: | TODO @@ -2282,7 +2160,6 @@ structs: doc: | TODO type: uint32 - - name: queue_descriptor doc: | TODO @@ -2293,7 +2170,6 @@ structs: TODO type: string optional: true - - name: render_bundle_descriptor doc: | TODO @@ -2304,7 +2180,6 @@ structs: TODO type: string optional: true - - name: render_bundle_encoder_descriptor doc: | TODO @@ -2336,7 +2211,6 @@ structs: doc: | TODO type: bool - - name: render_pass_color_attachment doc: | TODO @@ -2368,7 +2242,6 @@ structs: doc: | TODO type: struct.color - - name: render_pass_depth_stencil_attachment doc: | TODO @@ -2410,7 +2283,6 @@ structs: doc: | TODO type: bool - - name: render_pass_descriptor doc: | TODO @@ -2443,7 +2315,6 @@ structs: type: struct.render_pass_timestamp_writes pointer: immutable optional: true - - name: render_pass_descriptor_max_draw_count doc: | TODO @@ -2455,7 +2326,6 @@ structs: doc: | TODO type: uint64 - - name: render_pass_timestamp_writes doc: | TODO @@ -2473,229 +2343,85 @@ structs: doc: | TODO type: uint32 - - - name: vertex_state + - name: render_pipeline_descriptor doc: | TODO type: base_in members: - - name: module - doc: | - TODO - type: object.shader_module - - name: entry_point + - name: label doc: | TODO type: string optional: true - - name: constants - doc: | - TODO - type: array - pointer: immutable - - name: buffers + - name: layout doc: | TODO - type: array - pointer: immutable - - - name: primitive_state - doc: | - TODO - type: base_in - members: - - name: topology + type: object.pipeline_layout + optional: true + - name: vertex doc: | TODO - type: enum.primitive_topology - - name: strip_index_format + type: struct.vertex_state + - name: primitive doc: | TODO - type: enum.index_format - - name: front_face + type: struct.primitive_state + - name: depth_stencil doc: | TODO - type: enum.front_face - - name: cull_mode + type: struct.depth_stencil_state + pointer: immutable + optional: true + - name: multisample doc: | TODO - type: enum.cull_mode - - - name: primitive_depth_clip_control - doc: | - TODO - type: extension_in - extends: - - primitive_state - members: - - name: unclipped_depth + type: struct.multisample_state + - name: fragment doc: | TODO - type: bool - - - name: depth_stencil_state + type: struct.fragment_state + pointer: immutable + optional: true + - name: request_adapter_options doc: | TODO type: base_in members: - - name: format - doc: | - TODO - type: enum.texture_format - - name: depth_write_enabled - doc: | - TODO - type: bool - - name: depth_compare - doc: | - TODO - type: enum.compare_function - - name: stencil_front - doc: | - TODO - type: struct.stencil_face_state - - name: stencil_back - doc: | - TODO - type: struct.stencil_face_state - - name: stencil_read_mask - doc: | - TODO - type: uint32 - - name: stencil_write_mask - doc: | - TODO - type: uint32 - - name: depth_bias - doc: | - TODO - type: int32 - - name: depth_bias_slope_scale - doc: | - TODO - type: float32 - - name: depth_bias_clamp + - name: compatible_surface doc: | TODO - type: float32 - - - name: multisample_state - doc: | - TODO - type: base_in - members: - - name: count + type: object.surface + optional: true + - name: power_preference doc: | TODO - type: uint32 - - name: mask + type: enum.power_preference + - name: backend_type doc: | TODO - type: uint32 - - name: alpha_to_coverage_enabled + type: enum.backend_type + - name: force_fallback_adapter doc: | TODO type: bool - - - name: fragment_state - doc: | - TODO - type: base_in - members: - - name: module - doc: | - TODO - type: object.shader_module - - name: entry_point - doc: | - TODO - type: string - optional: true - - name: constants - doc: | - TODO - type: array - pointer: immutable - - name: targets - doc: | - TODO - type: array - pointer: immutable - - - name: color_target_state + - name: required_limits doc: | TODO type: base_in members: - - name: format - doc: | - TODO - type: enum.texture_format - - name: blend - doc: | - TODO - type: struct.blend_state - pointer: immutable - optional: true - - name: write_mask - doc: | - TODO - type: bitflag.color_write_mask - - - name: blend_state - doc: | - TODO - type: standalone - members: - - name: color - doc: | - TODO - type: struct.blend_component - - name: alpha + - name: limits doc: | TODO - type: struct.blend_component - - - name: render_pipeline_descriptor + type: struct.limits + - name: sampler_binding_layout doc: | TODO type: base_in members: - - name: label - doc: | - TODO - type: string - optional: true - - name: layout - doc: | - TODO - type: object.pipeline_layout - optional: true - - name: vertex - doc: | - TODO - type: struct.vertex_state - - name: primitive - doc: | - TODO - type: struct.primitive_state - - name: depth_stencil - doc: | - TODO - type: struct.depth_stencil_state - pointer: immutable - optional: true - - name: multisample - doc: | - TODO - type: struct.multisample_state - - name: fragment + - name: type doc: | - TODO - type: struct.fragment_state - pointer: immutable - optional: true - + TODO + type: enum.sampler_binding_type - name: sampler_descriptor doc: | TODO @@ -2746,37 +2472,34 @@ structs: doc: | TODO type: uint16 - - - name: shader_module_descriptor + - name: shader_module_compilation_hint doc: | TODO type: base_in members: - - name: label + - name: entry_point doc: | TODO type: string - optional: true - - name: hints + - name: layout doc: | TODO - type: array - pointer: immutable - - - name: shader_module_compilation_hint + type: object.pipeline_layout + - name: shader_module_descriptor doc: | TODO type: base_in members: - - name: entry_point + - name: label doc: | TODO type: string - - name: layout + optional: true + - name: hints doc: | TODO - type: object.pipeline_layout - + type: array + pointer: immutable - name: shader_module_SPIRV_descriptor doc: | TODO @@ -2793,7 +2516,6 @@ structs: TODO type: uint32 pointer: immutable - - name: shader_module_WGSL_descriptor doc: | TODO @@ -2805,7 +2527,6 @@ structs: doc: | TODO type: string - - name: stencil_face_state doc: | TODO @@ -2827,7 +2548,95 @@ structs: doc: | TODO type: enum.stencil_operation - + - name: storage_texture_binding_layout + doc: | + TODO + type: base_in + members: + - name: access + doc: | + TODO + type: enum.storage_texture_access + - name: format + doc: | + TODO + type: enum.texture_format + - name: view_dimension + doc: | + TODO + type: enum.texture_view_dimension + - name: supported_limits + doc: | + TODO + type: base_out + members: + - name: limits + doc: | + TODO + type: struct.limits + - name: surface_capabilities + doc: | + TODO + type: base_out + free_members: true + members: + - name: usages + doc: | + TODO + type: bitflag.texture_usage + - name: formats + doc: | + TODO + type: array + pointer: immutable + - name: present_modes + doc: | + TODO + type: array + pointer: immutable + - name: alpha_modes + doc: | + TODO + type: array + pointer: immutable + - name: surface_configuration + doc: | + TODO + type: base_in + members: + - name: device + doc: | + TODO + type: object.device + - name: format + doc: | + TODO + type: enum.texture_format + - name: usage + doc: | + TODO + type: bitflag.texture_usage + - name: view_formats + doc: | + TODO + type: array + pointer: immutable + - name: alpha_mode + doc: | + TODO + type: enum.composite_alpha_mode + - name: width + doc: | + TODO + type: uint32 + - name: height + doc: | + TODO + type: uint32 + - name: present_mode + doc: | + TODO + type: enum.present_mode - name: surface_descriptor doc: | TODO @@ -2838,7 +2647,6 @@ structs: TODO type: string optional: true - - name: surface_descriptor_from_android_native_window doc: | TODO @@ -2851,7 +2659,6 @@ structs: TODO type: c_void pointer: mutable - - name: surface_descriptor_from_canvas_HTML_selector doc: | TODO @@ -2863,7 +2670,6 @@ structs: doc: | TODO type: string - - name: surface_descriptor_from_metal_layer doc: | TODO @@ -2876,50 +2682,48 @@ structs: TODO type: c_void pointer: mutable - - - name: surface_descriptor_from_windows_HWND + - name: surface_descriptor_from_wayland_surface doc: | TODO type: extension_in extends: - surface_descriptor members: - - name: hinstance + - name: display doc: | TODO type: c_void pointer: mutable - - name: hwnd + - name: surface doc: | TODO type: c_void pointer: mutable - - - name: surface_descriptor_from_xcb_window + - name: surface_descriptor_from_windows_HWND doc: | TODO type: extension_in extends: - surface_descriptor members: - - name: connection + - name: hinstance doc: | TODO type: c_void pointer: mutable - - name: window + - name: hwnd doc: | TODO - type: uint32 - - - name: surface_descriptor_from_xlib_window + type: c_void + pointer: mutable + - name: surface_descriptor_from_xcb_window doc: | TODO type: extension_in extends: - surface_descriptor members: - - name: display + - name: connection doc: | TODO type: c_void @@ -2927,9 +2731,8 @@ structs: - name: window doc: | TODO - type: uint64 - - - name: surface_descriptor_from_wayland_surface + type: uint32 + - name: surface_descriptor_from_xlib_window doc: | TODO type: extension_in @@ -2941,12 +2744,10 @@ structs: TODO type: c_void pointer: mutable - - name: surface + - name: window doc: | TODO - type: c_void - pointer: mutable - + type: uint64 - name: surface_texture doc: | TODO @@ -2964,7 +2765,23 @@ structs: doc: | TODO type: enum.surface_get_current_texture_status - + - name: texture_binding_layout + doc: | + TODO + type: base_in + members: + - name: sample_type + doc: | + TODO + type: enum.texture_sample_type + - name: view_dimension + doc: | + TODO + type: enum.texture_view_dimension + - name: multisampled + doc: | + TODO + type: bool - name: texture_data_layout doc: | TODO @@ -2982,7 +2799,6 @@ structs: doc: | TODO type: uint32 - - name: texture_descriptor doc: | TODO @@ -3022,7 +2838,6 @@ structs: TODO type: array pointer: immutable - - name: texture_view_descriptor doc: | TODO @@ -3061,7 +2876,6 @@ structs: doc: | TODO type: enum.texture_aspect - - name: uncaptured_error_callback_info doc: | TODO @@ -3076,7 +2890,65 @@ structs: TODO type: c_void pointer: mutable - + - name: vertex_attribute + doc: | + TODO + type: standalone + members: + - name: format + doc: | + TODO + type: enum.vertex_format + - name: offset + doc: | + TODO + type: uint64 + - name: shader_location + doc: | + TODO + type: uint32 + - name: vertex_buffer_layout + doc: | + TODO + type: standalone + members: + - name: array_stride + doc: | + TODO + type: uint64 + - name: step_mode + doc: | + TODO + type: enum.vertex_step_mode + - name: attributes + doc: | + TODO + type: array + pointer: immutable + - name: vertex_state + doc: | + TODO + type: base_in + members: + - name: module + doc: | + TODO + type: object.shader_module + - name: entry_point + doc: | + TODO + type: string + optional: true + - name: constants + doc: | + TODO + type: array + pointer: immutable + - name: buffers + doc: | + TODO + type: array + pointer: immutable functions: - name: create_instance doc: | @@ -3092,7 +2964,6 @@ functions: type: struct.instance_descriptor pointer: immutable optional: true - objects: - name: adapter doc: | @@ -3168,7 +3039,6 @@ objects: type: struct.device_descriptor pointer: immutable optional: true - - name: bind_group doc: | TODO @@ -3181,7 +3051,6 @@ objects: doc: | TODO type: string - - name: bind_group_layout doc: | TODO @@ -3194,7 +3063,6 @@ objects: doc: | TODO type: string - - name: buffer doc: | TODO @@ -3289,7 +3157,6 @@ objects: - name: destroy doc: | TODO - - name: command_buffer doc: | TODO @@ -3302,7 +3169,6 @@ objects: doc: | TODO type: string - - name: command_encoder doc: | TODO @@ -3508,7 +3374,6 @@ objects: doc: | TODO type: string - - name: compute_pass_encoder doc: | TODO @@ -3597,7 +3462,6 @@ objects: doc: | TODO type: string - - name: compute_pipeline doc: | TODO @@ -3622,7 +3486,6 @@ objects: doc: | TODO type: string - - name: device doc: | TODO @@ -3906,7 +3769,6 @@ objects: doc: | TODO type: string - - name: instance doc: | TODO @@ -3962,7 +3824,6 @@ objects: type: struct.request_adapter_options pointer: immutable optional: true - - name: pipeline_layout doc: | TODO @@ -3975,7 +3836,6 @@ objects: doc: | TODO type: string - - name: query_set doc: | TODO @@ -4005,7 +3865,6 @@ objects: - name: destroy doc: | TODO - - name: queue doc: | TODO @@ -4084,7 +3943,6 @@ objects: doc: | TODO type: string - - name: render_bundle doc: | TODO @@ -4097,7 +3955,6 @@ objects: doc: | TODO type: string - - name: render_bundle_encoder doc: | TODO @@ -4278,7 +4135,6 @@ objects: doc: | TODO type: string - - name: render_pass_encoder doc: | TODO @@ -4533,7 +4389,6 @@ objects: doc: | TODO type: string - - name: render_pipeline doc: | TODO @@ -4558,7 +4413,6 @@ objects: doc: | TODO type: string - - name: sampler doc: | TODO @@ -4571,7 +4425,6 @@ objects: doc: | TODO type: string - - name: shader_module doc: | TODO @@ -4597,7 +4450,6 @@ objects: doc: | TODO type: string - - name: surface doc: | TODO @@ -4647,7 +4499,6 @@ objects: doc: | TODO type: string - - name: texture doc: | TODO @@ -4733,7 +4584,6 @@ objects: - name: destroy doc: | TODO - - name: texture_view doc: | TODO