mirror of
https://github.com/fumiama/gozel.git
synced 2026-06-27 14:20:28 +08:00
feat(gen): add more comments & support _t enum
This commit is contained in:
@@ -325,17 +325,17 @@ const (
|
|||||||
// ZeExternalMemoryTypeFlags (ze_external_memory_type_flags_t) External memory type flags
|
// ZeExternalMemoryTypeFlags (ze_external_memory_type_flags_t) External memory type flags
|
||||||
type ZeExternalMemoryTypeFlags uint32
|
type ZeExternalMemoryTypeFlags uint32
|
||||||
const (
|
const (
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD ZeExternalMemoryTypeFlags = (( 1 << 0 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD an opaque POSIX file descriptor handle
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD ZeExternalMemoryTypeFlags = /* ZE_BIT(0) */(( 1 << 0 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_FD an opaque POSIX file descriptor handle
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF ZeExternalMemoryTypeFlags = (( 1 << 1 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF a file descriptor handle for a Linux dma_buf
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF ZeExternalMemoryTypeFlags = /* ZE_BIT(1) */(( 1 << 1 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF a file descriptor handle for a Linux dma_buf
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32 ZeExternalMemoryTypeFlags = (( 1 << 2 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32 an NT handle
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32 ZeExternalMemoryTypeFlags = /* ZE_BIT(2) */(( 1 << 2 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32 an NT handle
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT ZeExternalMemoryTypeFlags = (( 1 << 3 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT a global share (KMT) handle
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT ZeExternalMemoryTypeFlags = /* ZE_BIT(3) */(( 1 << 3 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32_KMT a global share (KMT) handle
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE ZeExternalMemoryTypeFlags = (( 1 << 4 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE an NT handle referring to a Direct3D 10 or 11 texture resource
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE ZeExternalMemoryTypeFlags = /* ZE_BIT(4) */(( 1 << 4 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE an NT handle referring to a Direct3D 10 or 11 texture resource
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT ZeExternalMemoryTypeFlags = (( 1 << 5 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT a global share (KMT) handle referring to a Direct3D 10 or 11 texture
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT ZeExternalMemoryTypeFlags = /* ZE_BIT(5) */(( 1 << 5 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D11_TEXTURE_KMT a global share (KMT) handle referring to a Direct3D 10 or 11 texture
|
||||||
|
|
||||||
///< resource
|
///< resource
|
||||||
|
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP ZeExternalMemoryTypeFlags = (( 1 << 6 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP an NT handle referring to a Direct3D 12 heap resource
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP ZeExternalMemoryTypeFlags = /* ZE_BIT(6) */(( 1 << 6 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_HEAP an NT handle referring to a Direct3D 12 heap resource
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE ZeExternalMemoryTypeFlags = (( 1 << 7 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE an NT handle referring to a Direct3D 12 committed resource
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE ZeExternalMemoryTypeFlags = /* ZE_BIT(7) */(( 1 << 7 )) // ZE_EXTERNAL_MEMORY_TYPE_FLAG_D3D12_RESOURCE an NT handle referring to a Direct3D 12 committed resource
|
||||||
ZE_EXTERNAL_MEMORY_TYPE_FLAG_FORCE_UINT32 ZeExternalMemoryTypeFlags = 0x7fffffff // ZE_EXTERNAL_MEMORY_TYPE_FLAG_FORCE_UINT32 Value marking end of ZE_EXTERNAL_MEMORY_TYPE_FLAG_* ENUMs
|
ZE_EXTERNAL_MEMORY_TYPE_FLAG_FORCE_UINT32 ZeExternalMemoryTypeFlags = 0x7fffffff // ZE_EXTERNAL_MEMORY_TYPE_FLAG_FORCE_UINT32 Value marking end of ZE_EXTERNAL_MEMORY_TYPE_FLAG_* ENUMs
|
||||||
|
|
||||||
)
|
)
|
||||||
@@ -367,3 +367,9 @@ const (
|
|||||||
// ZE_MAX_UUID_SIZE Maximum universal unique id (UUID) size in bytes
|
// ZE_MAX_UUID_SIZE Maximum universal unique id (UUID) size in bytes
|
||||||
const ZE_MAX_UUID_SIZE = 16
|
const ZE_MAX_UUID_SIZE = 16
|
||||||
|
|
||||||
|
// ZeUuid (ze_uuid_t) Universal unique id (UUID)
|
||||||
|
type ZeUuid struct {
|
||||||
|
Id [ZE_MAX_UUID_SIZE]uint8 // Id [out] opaque data representing a UUID
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
1
doc.go
1
doc.go
@@ -1,4 +1,3 @@
|
|||||||
package gozel
|
package gozel
|
||||||
|
|
||||||
//go:generate go run ./gen -spec ./spec
|
//go:generate go run ./gen -spec ./spec
|
||||||
//go:generate gofmt -w .
|
|
||||||
|
|||||||
21
gen/scan.go
21
gen/scan.go
@@ -251,6 +251,27 @@ func scanBlocks(
|
|||||||
fsb.WriteString(us2camel(strings.TrimSuffix(strings.TrimSpace(vname), ";")))
|
fsb.WriteString(us2camel(strings.TrimSuffix(strings.TrimSpace(vname), ";")))
|
||||||
fsb.WriteString(" byte")
|
fsb.WriteString(" byte")
|
||||||
}
|
}
|
||||||
|
case strings.Contains(stat, "_t "):
|
||||||
|
tname, remains, ok := strings.Cut(stat, "_t ")
|
||||||
|
if !ok {
|
||||||
|
panic(fmt.Sprintf("%s L%d: unexpected statement %s", name, ln, stat))
|
||||||
|
}
|
||||||
|
szc, sz := "", ""
|
||||||
|
vname, szc, ok = strings.Cut(remains, "[")
|
||||||
|
vname = us2camel(strings.TrimSpace(vname))
|
||||||
|
if ok { // is array
|
||||||
|
sz, c, _ = strings.Cut(szc, "//")
|
||||||
|
fsb.WriteString("\t")
|
||||||
|
fsb.WriteString(vname)
|
||||||
|
fsb.WriteString(" [")
|
||||||
|
fsb.WriteString(strings.TrimSuffix(strings.TrimSpace(sz), ";"))
|
||||||
|
fsb.WriteString(strings.TrimSpace(tname))
|
||||||
|
} else {
|
||||||
|
vname, c, _ = strings.Cut(vname, "//")
|
||||||
|
fsb.WriteString(us2camel(strings.TrimSuffix(strings.TrimSpace(vname), ";")))
|
||||||
|
fsb.WriteString(" ")
|
||||||
|
fsb.WriteString(strings.TrimSpace(tname))
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("%s L%d: unexpected statement %s", name, ln, stat))
|
panic(fmt.Sprintf("%s L%d: unexpected statement %s", name, ln, stat))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,19 +81,22 @@ func (s *symbol) replace(txt string) string {
|
|||||||
return strings.ReplaceAll(txt, s.name, s.fields[0])
|
return strings.ReplaceAll(txt, s.name, s.fields[0])
|
||||||
case symbolTypeFunc:
|
case symbolTypeFunc:
|
||||||
paras := strings.Split(s.fields[0], ",")
|
paras := strings.Split(s.fields[0], ",")
|
||||||
|
txts := []string{}
|
||||||
for {
|
for {
|
||||||
args, a, b, err := s.extract1stFunc(txt)
|
args, a, b, err := s.extract1stFunc(txt)
|
||||||
if err == errNoSuchSymbol {
|
if err == errNoSuchSymbol {
|
||||||
return txt
|
txts = append(txts, txt)
|
||||||
|
return strings.Join(txts, "")
|
||||||
}
|
}
|
||||||
if len(paras) != len(args) {
|
if len(paras) != len(args) {
|
||||||
panic("args " + strings.Join(args, ", ") + " count " + strconv.Itoa(len(args)) + " is different from recorded " + s.fields[0])
|
panic("args " + strings.Join(args, ", ") + " count " + strconv.Itoa(len(args)) + " is different from recorded " + s.fields[0])
|
||||||
}
|
}
|
||||||
txts := []string{txt[:a], "(", s.fields[1], txt[b:]}
|
n := len(txts)
|
||||||
|
txts = append(txts, []string{txt[:a], "/* ", txt[a:b], ") */(", s.fields[1]}...)
|
||||||
for i, p := range paras {
|
for i, p := range paras {
|
||||||
txts[2] = strings.ReplaceAll(txts[2], strings.TrimSpace(p), args[i])
|
txts[n+4] = strings.ReplaceAll(txts[n+4], strings.TrimSpace(p), args[i])
|
||||||
}
|
}
|
||||||
txt = strings.Join(txts, "")
|
txt = txt[b:]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
panic("unsupported symbol type " + strconv.Itoa(int(s.stype)))
|
panic("unsupported symbol type " + strconv.Itoa(int(s.stype)))
|
||||||
|
|||||||
Reference in New Issue
Block a user