aboutsummaryrefslogtreecommitdiff
path: root/nexgb/auto_glx.go
diff options
context:
space:
mode:
Diffstat (limited to 'nexgb/auto_glx.go')
-rw-r--r--nexgb/auto_glx.go9356
1 files changed, 9356 insertions, 0 deletions
diff --git a/nexgb/auto_glx.go b/nexgb/auto_glx.go
new file mode 100644
index 0000000..4b6b2c5
--- /dev/null
+++ b/nexgb/auto_glx.go
@@ -0,0 +1,9356 @@
+package xgb
+
+/*
+ This file was generated by glx.xml on May 6 2012 3:00:44am EDT.
+ This file is automatically generated. Edit at your peril!
+*/
+
+// Imports are not necessary for XGB because everything is
+// in one package. They are still listed here for reference.
+// import "xproto"
+
+// Skipping definition for base type 'Card16'
+
+// Skipping definition for base type 'Char'
+
+// Skipping definition for base type 'Card32'
+
+// Skipping definition for base type 'Double'
+
+// Skipping definition for base type 'Bool'
+
+// Skipping definition for base type 'Float'
+
+// Skipping definition for base type 'Id'
+
+// Skipping definition for base type 'Card8'
+
+// Skipping definition for base type 'Int16'
+
+// Skipping definition for base type 'Int32'
+
+// Skipping definition for base type 'Void'
+
+// Skipping definition for base type 'Byte'
+
+// Skipping definition for base type 'Int8'
+
+const (
+ GlxPbcetDamaged = 32791
+ GlxPbcetSaved = 32792
+)
+
+const (
+ GlxPbcdtWindow = 32793
+ GlxPbcdtPbuffer = 32794
+)
+
+const (
+ GlxGcGlCurrentBit = 1
+ GlxGcGlPointBit = 2
+ GlxGcGlLineBit = 4
+ GlxGcGlPolygonBit = 8
+ GlxGcGlPolygonStippleBit = 16
+ GlxGcGlPixelModeBit = 32
+ GlxGcGlLightingBit = 64
+ GlxGcGlFogBit = 128
+ GlxGcGlDepthBufferBit = 256
+ GlxGcGlAccumBufferBit = 512
+ GlxGcGlStencilBufferBit = 1024
+ GlxGcGlViewportBit = 2048
+ GlxGcGlTransformBit = 4096
+ GlxGcGlEnableBit = 8192
+ GlxGcGlColorBufferBit = 16384
+ GlxGcGlHintBit = 32768
+ GlxGcGlEvalBit = 65536
+ GlxGcGlListBit = 131072
+ GlxGcGlTextureBit = 262144
+ GlxGcGlScissorBit = 524288
+ GlxGcGlAllAttribBits = 16777215
+)
+
+const (
+ GlxRmGlRender = 7168
+ GlxRmGlFeedback = 7169
+ GlxRmGlSelect = 7170
+)
+
+// Skipping resource definition of 'Pixmap'
+
+// Skipping resource definition of 'Context'
+
+// Skipping resource definition of 'Pbuffer'
+
+// Skipping resource definition of 'Window'
+
+// Skipping resource definition of 'Fbconfig'
+
+// Skipping resource definition of 'Drawable'
+
+type GlxFloat32 float64
+
+type GlxFloat64 float64
+
+type GlxBool32 uint32
+
+type GlxContextTag uint32
+
+// Event definition GlxPbufferClobber (0)
+// Size: 32
+
+const GlxPbufferClobber = 0
+
+type GlxPbufferClobberEvent struct {
+ Sequence uint16
+ // padding: 1 bytes
+ EventType uint16
+ DrawType uint16
+ Drawable Id
+ BMask uint32
+ AuxBuffer uint16
+ X uint16
+ Y uint16
+ Width uint16
+ Height uint16
+ Count uint16
+ // padding: 4 bytes
+}
+
+// Event read GlxPbufferClobber
+func NewGlxPbufferClobberEvent(buf []byte) Event {
+ v := GlxPbufferClobberEvent{}
+ b := 1 // don't read event number
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.EventType = Get16(buf[b:])
+ b += 2
+
+ v.DrawType = Get16(buf[b:])
+ b += 2
+
+ v.Drawable = Id(Get32(buf[b:]))
+ b += 4
+
+ v.BMask = Get32(buf[b:])
+ b += 4
+
+ v.AuxBuffer = Get16(buf[b:])
+ b += 2
+
+ v.X = Get16(buf[b:])
+ b += 2
+
+ v.Y = Get16(buf[b:])
+ b += 2
+
+ v.Width = Get16(buf[b:])
+ b += 2
+
+ v.Height = Get16(buf[b:])
+ b += 2
+
+ v.Count = Get16(buf[b:])
+ b += 2
+
+ b += 4 // padding
+
+ return v
+}
+
+// Event write GlxPbufferClobber
+func (v GlxPbufferClobberEvent) Bytes() []byte {
+ buf := make([]byte, 32)
+ b := 0
+
+ // write event number
+ buf[b] = 0
+ b += 1
+
+ b += 1 // padding
+
+ b += 2 // skip sequence number
+
+ Put16(buf[b:], v.EventType)
+ b += 2
+
+ Put16(buf[b:], v.DrawType)
+ b += 2
+
+ Put32(buf[b:], uint32(v.Drawable))
+ b += 4
+
+ Put32(buf[b:], v.BMask)
+ b += 4
+
+ Put16(buf[b:], v.AuxBuffer)
+ b += 2
+
+ Put16(buf[b:], v.X)
+ b += 2
+
+ Put16(buf[b:], v.Y)
+ b += 2
+
+ Put16(buf[b:], v.Width)
+ b += 2
+
+ Put16(buf[b:], v.Height)
+ b += 2
+
+ Put16(buf[b:], v.Count)
+ b += 2
+
+ b += 4 // padding
+
+ return buf
+}
+
+func (v GlxPbufferClobberEvent) ImplementsEvent() {}
+
+func (v GlxPbufferClobberEvent) SequenceId() uint16 {
+ return v.Sequence
+}
+
+func (v GlxPbufferClobberEvent) String() string {
+ fieldVals := make([]string, 0, 12)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", v.Sequence))
+ fieldVals = append(fieldVals, sprintf("EventType: %d", v.EventType))
+ fieldVals = append(fieldVals, sprintf("DrawType: %d", v.DrawType))
+ fieldVals = append(fieldVals, sprintf("Drawable: %d", v.Drawable))
+ fieldVals = append(fieldVals, sprintf("BMask: %d", v.BMask))
+ fieldVals = append(fieldVals, sprintf("AuxBuffer: %d", v.AuxBuffer))
+ fieldVals = append(fieldVals, sprintf("X: %d", v.X))
+ fieldVals = append(fieldVals, sprintf("Y: %d", v.Y))
+ fieldVals = append(fieldVals, sprintf("Width: %d", v.Width))
+ fieldVals = append(fieldVals, sprintf("Height: %d", v.Height))
+ fieldVals = append(fieldVals, sprintf("Count: %d", v.Count))
+ return "GlxPbufferClobber {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newEventFuncs[0] = NewGlxPbufferClobberEvent
+}
+
+// Error definition GlxGeneric (-1)
+// Size: 32
+
+const BadGlxGeneric = -1
+
+type GlxGenericError struct {
+ Sequence uint16
+ NiceName string
+ BadValue uint32
+ MinorOpcode uint16
+ MajorOpcode byte
+ // padding: 21 bytes
+}
+
+// Error read GlxGeneric
+func NewGlxGenericError(buf []byte) Error {
+ v := GlxGenericError{}
+ v.NiceName = "GlxGeneric"
+
+ b := 1 // skip error determinant
+ b += 1 // don't read error number
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.BadValue = Get32(buf[b:])
+ b += 4
+
+ v.MinorOpcode = Get16(buf[b:])
+ b += 2
+
+ v.MajorOpcode = buf[b]
+ b += 1
+
+ b += 21 // padding
+
+ return v
+}
+
+func (err GlxGenericError) ImplementsError() {}
+
+func (err GlxGenericError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxGenericError) BadId() Id {
+ return 0
+}
+
+func (err GlxGenericError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxGeneric {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[-1] = NewGlxGenericError
+}
+
+// ErrorCopy definition GlxBadContext (0)
+
+const BadGlxBadContext = 0
+
+type GlxBadContextError GlxGenericError
+
+func NewGlxBadContextError(buf []byte) Error {
+ v := GlxBadContextError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadContext"
+ return v
+}
+
+func (err GlxBadContextError) ImplementsError() {}
+
+func (err GlxBadContextError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadContextError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadContextError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadContext {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[0] = NewGlxBadContextError
+}
+
+// ErrorCopy definition GlxBadContextState (1)
+
+const BadGlxBadContextState = 1
+
+type GlxBadContextStateError GlxGenericError
+
+func NewGlxBadContextStateError(buf []byte) Error {
+ v := GlxBadContextStateError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadContextState"
+ return v
+}
+
+func (err GlxBadContextStateError) ImplementsError() {}
+
+func (err GlxBadContextStateError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadContextStateError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadContextStateError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadContextState {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[1] = NewGlxBadContextStateError
+}
+
+// ErrorCopy definition GlxBadDrawable (2)
+
+const BadGlxBadDrawable = 2
+
+type GlxBadDrawableError GlxGenericError
+
+func NewGlxBadDrawableError(buf []byte) Error {
+ v := GlxBadDrawableError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadDrawable"
+ return v
+}
+
+func (err GlxBadDrawableError) ImplementsError() {}
+
+func (err GlxBadDrawableError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadDrawableError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadDrawableError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadDrawable {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[2] = NewGlxBadDrawableError
+}
+
+// ErrorCopy definition GlxBadPixmap (3)
+
+const BadGlxBadPixmap = 3
+
+type GlxBadPixmapError GlxGenericError
+
+func NewGlxBadPixmapError(buf []byte) Error {
+ v := GlxBadPixmapError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadPixmap"
+ return v
+}
+
+func (err GlxBadPixmapError) ImplementsError() {}
+
+func (err GlxBadPixmapError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadPixmapError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadPixmapError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadPixmap {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[3] = NewGlxBadPixmapError
+}
+
+// ErrorCopy definition GlxBadContextTag (4)
+
+const BadGlxBadContextTag = 4
+
+type GlxBadContextTagError GlxGenericError
+
+func NewGlxBadContextTagError(buf []byte) Error {
+ v := GlxBadContextTagError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadContextTag"
+ return v
+}
+
+func (err GlxBadContextTagError) ImplementsError() {}
+
+func (err GlxBadContextTagError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadContextTagError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadContextTagError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadContextTag {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[4] = NewGlxBadContextTagError
+}
+
+// ErrorCopy definition GlxBadCurrentWindow (5)
+
+const BadGlxBadCurrentWindow = 5
+
+type GlxBadCurrentWindowError GlxGenericError
+
+func NewGlxBadCurrentWindowError(buf []byte) Error {
+ v := GlxBadCurrentWindowError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadCurrentWindow"
+ return v
+}
+
+func (err GlxBadCurrentWindowError) ImplementsError() {}
+
+func (err GlxBadCurrentWindowError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadCurrentWindowError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadCurrentWindowError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadCurrentWindow {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[5] = NewGlxBadCurrentWindowError
+}
+
+// ErrorCopy definition GlxBadRenderRequest (6)
+
+const BadGlxBadRenderRequest = 6
+
+type GlxBadRenderRequestError GlxGenericError
+
+func NewGlxBadRenderRequestError(buf []byte) Error {
+ v := GlxBadRenderRequestError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadRenderRequest"
+ return v
+}
+
+func (err GlxBadRenderRequestError) ImplementsError() {}
+
+func (err GlxBadRenderRequestError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadRenderRequestError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadRenderRequestError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadRenderRequest {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[6] = NewGlxBadRenderRequestError
+}
+
+// ErrorCopy definition GlxBadLargeRequest (7)
+
+const BadGlxBadLargeRequest = 7
+
+type GlxBadLargeRequestError GlxGenericError
+
+func NewGlxBadLargeRequestError(buf []byte) Error {
+ v := GlxBadLargeRequestError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadLargeRequest"
+ return v
+}
+
+func (err GlxBadLargeRequestError) ImplementsError() {}
+
+func (err GlxBadLargeRequestError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadLargeRequestError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadLargeRequestError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadLargeRequest {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[7] = NewGlxBadLargeRequestError
+}
+
+// ErrorCopy definition GlxUnsupportedPrivateRequest (8)
+
+const BadGlxUnsupportedPrivateRequest = 8
+
+type GlxUnsupportedPrivateRequestError GlxGenericError
+
+func NewGlxUnsupportedPrivateRequestError(buf []byte) Error {
+ v := GlxUnsupportedPrivateRequestError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxUnsupportedPrivateRequest"
+ return v
+}
+
+func (err GlxUnsupportedPrivateRequestError) ImplementsError() {}
+
+func (err GlxUnsupportedPrivateRequestError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxUnsupportedPrivateRequestError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxUnsupportedPrivateRequestError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxUnsupportedPrivateRequest {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[8] = NewGlxUnsupportedPrivateRequestError
+}
+
+// ErrorCopy definition GlxBadFBConfig (9)
+
+const BadGlxBadFBConfig = 9
+
+type GlxBadFBConfigError GlxGenericError
+
+func NewGlxBadFBConfigError(buf []byte) Error {
+ v := GlxBadFBConfigError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadFBConfig"
+ return v
+}
+
+func (err GlxBadFBConfigError) ImplementsError() {}
+
+func (err GlxBadFBConfigError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadFBConfigError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadFBConfigError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadFBConfig {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[9] = NewGlxBadFBConfigError
+}
+
+// ErrorCopy definition GlxBadPbuffer (10)
+
+const BadGlxBadPbuffer = 10
+
+type GlxBadPbufferError GlxGenericError
+
+func NewGlxBadPbufferError(buf []byte) Error {
+ v := GlxBadPbufferError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadPbuffer"
+ return v
+}
+
+func (err GlxBadPbufferError) ImplementsError() {}
+
+func (err GlxBadPbufferError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadPbufferError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadPbufferError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadPbuffer {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[10] = NewGlxBadPbufferError
+}
+
+// ErrorCopy definition GlxBadCurrentDrawable (11)
+
+const BadGlxBadCurrentDrawable = 11
+
+type GlxBadCurrentDrawableError GlxGenericError
+
+func NewGlxBadCurrentDrawableError(buf []byte) Error {
+ v := GlxBadCurrentDrawableError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadCurrentDrawable"
+ return v
+}
+
+func (err GlxBadCurrentDrawableError) ImplementsError() {}
+
+func (err GlxBadCurrentDrawableError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadCurrentDrawableError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadCurrentDrawableError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadCurrentDrawable {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[11] = NewGlxBadCurrentDrawableError
+}
+
+// ErrorCopy definition GlxBadWindow (12)
+
+const BadGlxBadWindow = 12
+
+type GlxBadWindowError GlxGenericError
+
+func NewGlxBadWindowError(buf []byte) Error {
+ v := GlxBadWindowError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxBadWindow"
+ return v
+}
+
+func (err GlxBadWindowError) ImplementsError() {}
+
+func (err GlxBadWindowError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxBadWindowError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxBadWindowError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxBadWindow {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[12] = NewGlxBadWindowError
+}
+
+// ErrorCopy definition GlxGLXBadProfileARB (13)
+
+const BadGlxGLXBadProfileARB = 13
+
+type GlxGLXBadProfileARBError GlxGenericError
+
+func NewGlxGLXBadProfileARBError(buf []byte) Error {
+ v := GlxGLXBadProfileARBError(NewGlxGenericError(buf).(GlxGenericError))
+ v.NiceName = "GlxGLXBadProfileARB"
+ return v
+}
+
+func (err GlxGLXBadProfileARBError) ImplementsError() {}
+
+func (err GlxGLXBadProfileARBError) SequenceId() uint16 {
+ return err.Sequence
+}
+
+func (err GlxGLXBadProfileARBError) BadId() Id {
+ return Id(err.BadValue)
+}
+
+func (err GlxGLXBadProfileARBError) Error() string {
+ fieldVals := make([]string, 0, 4)
+ fieldVals = append(fieldVals, "NiceName: "+err.NiceName)
+ fieldVals = append(fieldVals, sprintf("Sequence: %d", err.Sequence))
+ fieldVals = append(fieldVals, sprintf("BadValue: %d", err.BadValue))
+ fieldVals = append(fieldVals, sprintf("MinorOpcode: %d", err.MinorOpcode))
+ fieldVals = append(fieldVals, sprintf("MajorOpcode: %d", err.MajorOpcode))
+ return "BadGlxGLXBadProfileARB {" + stringsJoin(fieldVals, ", ") + "}"
+}
+
+func init() {
+ newErrorFuncs[13] = NewGlxGLXBadProfileARBError
+}
+
+// Request GlxRender
+// size: pad((8 + pad((len(Data) * 1))))
+type GlxRenderCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxRender
+func (c *Conn) GlxRender(ContextTag GlxContextTag, Data []byte) GlxRenderCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxRenderRequest(ContextTag, Data), cookie)
+ return GlxRenderCookie{cookie}
+}
+
+func (c *Conn) GlxRenderChecked(ContextTag GlxContextTag, Data []byte) GlxRenderCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxRenderRequest(ContextTag, Data), cookie)
+ return GlxRenderCookie{cookie}
+}
+
+func (cook GlxRenderCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxRender
+func (c *Conn) glxRenderRequest(ContextTag GlxContextTag, Data []byte) []byte {
+ size := pad((8 + pad((len(Data) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 1 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ copy(buf[b:], Data[:len(Data)])
+ b += pad(int(len(Data)))
+
+ return buf
+}
+
+// Request GlxRenderLarge
+// size: pad((16 + pad((int(DataLen) * 1))))
+type GlxRenderLargeCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxRenderLarge
+func (c *Conn) GlxRenderLarge(ContextTag GlxContextTag, RequestNum uint16, RequestTotal uint16, DataLen uint32, Data []byte) GlxRenderLargeCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxRenderLargeRequest(ContextTag, RequestNum, RequestTotal, DataLen, Data), cookie)
+ return GlxRenderLargeCookie{cookie}
+}
+
+func (c *Conn) GlxRenderLargeChecked(ContextTag GlxContextTag, RequestNum uint16, RequestTotal uint16, DataLen uint32, Data []byte) GlxRenderLargeCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxRenderLargeRequest(ContextTag, RequestNum, RequestTotal, DataLen, Data), cookie)
+ return GlxRenderLargeCookie{cookie}
+}
+
+func (cook GlxRenderLargeCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxRenderLarge
+func (c *Conn) glxRenderLargeRequest(ContextTag GlxContextTag, RequestNum uint16, RequestTotal uint16, DataLen uint32, Data []byte) []byte {
+ size := pad((16 + pad((int(DataLen) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 2 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put16(buf[b:], RequestNum)
+ b += 2
+
+ Put16(buf[b:], RequestTotal)
+ b += 2
+
+ Put32(buf[b:], DataLen)
+ b += 4
+
+ copy(buf[b:], Data[:DataLen])
+ b += pad(int(DataLen))
+
+ return buf
+}
+
+// Request GlxCreateContext
+// size: 24
+type GlxCreateContextCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreateContext
+func (c *Conn) GlxCreateContext(Context Id, Visual Visualid, Screen uint32, ShareList Id, IsDirect bool) GlxCreateContextCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreateContextRequest(Context, Visual, Screen, ShareList, IsDirect), cookie)
+ return GlxCreateContextCookie{cookie}
+}
+
+func (c *Conn) GlxCreateContextChecked(Context Id, Visual Visualid, Screen uint32, ShareList Id, IsDirect bool) GlxCreateContextCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreateContextRequest(Context, Visual, Screen, ShareList, IsDirect), cookie)
+ return GlxCreateContextCookie{cookie}
+}
+
+func (cook GlxCreateContextCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreateContext
+func (c *Conn) glxCreateContextRequest(Context Id, Visual Visualid, Screen uint32, ShareList Id, IsDirect bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 3 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ Put32(buf[b:], uint32(Visual))
+ b += 4
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(ShareList))
+ b += 4
+
+ if IsDirect {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ b += 3 // padding
+
+ return buf
+}
+
+// Request GlxDestroyContext
+// size: 8
+type GlxDestroyContextCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDestroyContext
+func (c *Conn) GlxDestroyContext(Context Id) GlxDestroyContextCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDestroyContextRequest(Context), cookie)
+ return GlxDestroyContextCookie{cookie}
+}
+
+func (c *Conn) GlxDestroyContextChecked(Context Id) GlxDestroyContextCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDestroyContextRequest(Context), cookie)
+ return GlxDestroyContextCookie{cookie}
+}
+
+func (cook GlxDestroyContextCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDestroyContext
+func (c *Conn) glxDestroyContextRequest(Context Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 4 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ return buf
+}
+
+// Request GlxMakeCurrent
+// size: 16
+type GlxMakeCurrentCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxMakeCurrent(Drawable Id, Context Id, OldContextTag GlxContextTag) GlxMakeCurrentCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxMakeCurrentRequest(Drawable, Context, OldContextTag), cookie)
+ return GlxMakeCurrentCookie{cookie}
+}
+
+func (c *Conn) GlxMakeCurrentUnchecked(Drawable Id, Context Id, OldContextTag GlxContextTag) GlxMakeCurrentCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxMakeCurrentRequest(Drawable, Context, OldContextTag), cookie)
+ return GlxMakeCurrentCookie{cookie}
+}
+
+// Request reply for GlxMakeCurrent
+// size: 32
+type GlxMakeCurrentReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ ContextTag GlxContextTag
+ // padding: 20 bytes
+}
+
+// Waits and reads reply data from request GlxMakeCurrent
+func (cook GlxMakeCurrentCookie) Reply() (*GlxMakeCurrentReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxMakeCurrentReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxMakeCurrent
+func glxMakeCurrentReply(buf []byte) *GlxMakeCurrentReply {
+ v := new(GlxMakeCurrentReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.ContextTag = GlxContextTag(Get32(buf[b:]))
+ b += 4
+
+ b += 20 // padding
+
+ return v
+}
+
+func (cook GlxMakeCurrentCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxMakeCurrent
+func (c *Conn) glxMakeCurrentRequest(Drawable Id, Context Id, OldContextTag GlxContextTag) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 5 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Drawable))
+ b += 4
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ Put32(buf[b:], uint32(OldContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxIsDirect
+// size: 8
+type GlxIsDirectCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxIsDirect(Context Id) GlxIsDirectCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxIsDirectRequest(Context), cookie)
+ return GlxIsDirectCookie{cookie}
+}
+
+func (c *Conn) GlxIsDirectUnchecked(Context Id) GlxIsDirectCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxIsDirectRequest(Context), cookie)
+ return GlxIsDirectCookie{cookie}
+}
+
+// Request reply for GlxIsDirect
+// size: 32
+type GlxIsDirectReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ IsDirect bool
+ // padding: 23 bytes
+}
+
+// Waits and reads reply data from request GlxIsDirect
+func (cook GlxIsDirectCookie) Reply() (*GlxIsDirectReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxIsDirectReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxIsDirect
+func glxIsDirectReply(buf []byte) *GlxIsDirectReply {
+ v := new(GlxIsDirectReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ if buf[b] == 1 {
+ v.IsDirect = true
+ } else {
+ v.IsDirect = false
+ }
+ b += 1
+
+ b += 23 // padding
+
+ return v
+}
+
+func (cook GlxIsDirectCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxIsDirect
+func (c *Conn) glxIsDirectRequest(Context Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 6 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ return buf
+}
+
+// Request GlxQueryVersion
+// size: 12
+type GlxQueryVersionCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxQueryVersion(MajorVersion uint32, MinorVersion uint32) GlxQueryVersionCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxQueryVersionRequest(MajorVersion, MinorVersion), cookie)
+ return GlxQueryVersionCookie{cookie}
+}
+
+func (c *Conn) GlxQueryVersionUnchecked(MajorVersion uint32, MinorVersion uint32) GlxQueryVersionCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxQueryVersionRequest(MajorVersion, MinorVersion), cookie)
+ return GlxQueryVersionCookie{cookie}
+}
+
+// Request reply for GlxQueryVersion
+// size: 32
+type GlxQueryVersionReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ MajorVersion uint32
+ MinorVersion uint32
+ // padding: 16 bytes
+}
+
+// Waits and reads reply data from request GlxQueryVersion
+func (cook GlxQueryVersionCookie) Reply() (*GlxQueryVersionReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxQueryVersionReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxQueryVersion
+func glxQueryVersionReply(buf []byte) *GlxQueryVersionReply {
+ v := new(GlxQueryVersionReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.MajorVersion = Get32(buf[b:])
+ b += 4
+
+ v.MinorVersion = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ return v
+}
+
+func (cook GlxQueryVersionCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxQueryVersion
+func (c *Conn) glxQueryVersionRequest(MajorVersion uint32, MinorVersion uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 7 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], MajorVersion)
+ b += 4
+
+ Put32(buf[b:], MinorVersion)
+ b += 4
+
+ return buf
+}
+
+// Request GlxWaitGL
+// size: 8
+type GlxWaitGLCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxWaitGL
+func (c *Conn) GlxWaitGL(ContextTag GlxContextTag) GlxWaitGLCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxWaitGLRequest(ContextTag), cookie)
+ return GlxWaitGLCookie{cookie}
+}
+
+func (c *Conn) GlxWaitGLChecked(ContextTag GlxContextTag) GlxWaitGLCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxWaitGLRequest(ContextTag), cookie)
+ return GlxWaitGLCookie{cookie}
+}
+
+func (cook GlxWaitGLCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxWaitGL
+func (c *Conn) glxWaitGLRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 8 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxWaitX
+// size: 8
+type GlxWaitXCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxWaitX
+func (c *Conn) GlxWaitX(ContextTag GlxContextTag) GlxWaitXCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxWaitXRequest(ContextTag), cookie)
+ return GlxWaitXCookie{cookie}
+}
+
+func (c *Conn) GlxWaitXChecked(ContextTag GlxContextTag) GlxWaitXCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxWaitXRequest(ContextTag), cookie)
+ return GlxWaitXCookie{cookie}
+}
+
+func (cook GlxWaitXCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxWaitX
+func (c *Conn) glxWaitXRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 9 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxCopyContext
+// size: 20
+type GlxCopyContextCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCopyContext
+func (c *Conn) GlxCopyContext(Src Id, Dest Id, Mask uint32, SrcContextTag GlxContextTag) GlxCopyContextCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCopyContextRequest(Src, Dest, Mask, SrcContextTag), cookie)
+ return GlxCopyContextCookie{cookie}
+}
+
+func (c *Conn) GlxCopyContextChecked(Src Id, Dest Id, Mask uint32, SrcContextTag GlxContextTag) GlxCopyContextCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCopyContextRequest(Src, Dest, Mask, SrcContextTag), cookie)
+ return GlxCopyContextCookie{cookie}
+}
+
+func (cook GlxCopyContextCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCopyContext
+func (c *Conn) glxCopyContextRequest(Src Id, Dest Id, Mask uint32, SrcContextTag GlxContextTag) []byte {
+ size := 20
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 10 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Src))
+ b += 4
+
+ Put32(buf[b:], uint32(Dest))
+ b += 4
+
+ Put32(buf[b:], Mask)
+ b += 4
+
+ Put32(buf[b:], uint32(SrcContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxSwapBuffers
+// size: 12
+type GlxSwapBuffersCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxSwapBuffers
+func (c *Conn) GlxSwapBuffers(ContextTag GlxContextTag, Drawable Id) GlxSwapBuffersCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxSwapBuffersRequest(ContextTag, Drawable), cookie)
+ return GlxSwapBuffersCookie{cookie}
+}
+
+func (c *Conn) GlxSwapBuffersChecked(ContextTag GlxContextTag, Drawable Id) GlxSwapBuffersCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxSwapBuffersRequest(ContextTag, Drawable), cookie)
+ return GlxSwapBuffersCookie{cookie}
+}
+
+func (cook GlxSwapBuffersCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxSwapBuffers
+func (c *Conn) glxSwapBuffersRequest(ContextTag GlxContextTag, Drawable Id) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 11 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Drawable))
+ b += 4
+
+ return buf
+}
+
+// Request GlxUseXFont
+// size: 24
+type GlxUseXFontCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxUseXFont
+func (c *Conn) GlxUseXFont(ContextTag GlxContextTag, Font Id, First uint32, Count uint32, ListBase uint32) GlxUseXFontCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxUseXFontRequest(ContextTag, Font, First, Count, ListBase), cookie)
+ return GlxUseXFontCookie{cookie}
+}
+
+func (c *Conn) GlxUseXFontChecked(ContextTag GlxContextTag, Font Id, First uint32, Count uint32, ListBase uint32) GlxUseXFontCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxUseXFontRequest(ContextTag, Font, First, Count, ListBase), cookie)
+ return GlxUseXFontCookie{cookie}
+}
+
+func (cook GlxUseXFontCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxUseXFont
+func (c *Conn) glxUseXFontRequest(ContextTag GlxContextTag, Font Id, First uint32, Count uint32, ListBase uint32) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 12 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Font))
+ b += 4
+
+ Put32(buf[b:], First)
+ b += 4
+
+ Put32(buf[b:], Count)
+ b += 4
+
+ Put32(buf[b:], ListBase)
+ b += 4
+
+ return buf
+}
+
+// Request GlxCreateGLXPixmap
+// size: 20
+type GlxCreateGLXPixmapCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreateGLXPixmap
+func (c *Conn) GlxCreateGLXPixmap(Screen uint32, Visual Visualid, Pixmap Id, GlxPixmap Id) GlxCreateGLXPixmapCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreateGLXPixmapRequest(Screen, Visual, Pixmap, GlxPixmap), cookie)
+ return GlxCreateGLXPixmapCookie{cookie}
+}
+
+func (c *Conn) GlxCreateGLXPixmapChecked(Screen uint32, Visual Visualid, Pixmap Id, GlxPixmap Id) GlxCreateGLXPixmapCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreateGLXPixmapRequest(Screen, Visual, Pixmap, GlxPixmap), cookie)
+ return GlxCreateGLXPixmapCookie{cookie}
+}
+
+func (cook GlxCreateGLXPixmapCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreateGLXPixmap
+func (c *Conn) glxCreateGLXPixmapRequest(Screen uint32, Visual Visualid, Pixmap Id, GlxPixmap Id) []byte {
+ size := 20
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 13 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(Visual))
+ b += 4
+
+ Put32(buf[b:], uint32(Pixmap))
+ b += 4
+
+ Put32(buf[b:], uint32(GlxPixmap))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetVisualConfigs
+// size: 8
+type GlxGetVisualConfigsCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetVisualConfigs(Screen uint32) GlxGetVisualConfigsCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetVisualConfigsRequest(Screen), cookie)
+ return GlxGetVisualConfigsCookie{cookie}
+}
+
+func (c *Conn) GlxGetVisualConfigsUnchecked(Screen uint32) GlxGetVisualConfigsCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetVisualConfigsRequest(Screen), cookie)
+ return GlxGetVisualConfigsCookie{cookie}
+}
+
+// Request reply for GlxGetVisualConfigs
+// size: (32 + pad((int(Length) * 4)))
+type GlxGetVisualConfigsReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ NumVisuals uint32
+ NumProperties uint32
+ // padding: 16 bytes
+ PropertyList []uint32 // size: pad((int(Length) * 4))
+}
+
+// Waits and reads reply data from request GlxGetVisualConfigs
+func (cook GlxGetVisualConfigsCookie) Reply() (*GlxGetVisualConfigsReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetVisualConfigsReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetVisualConfigs
+func glxGetVisualConfigsReply(buf []byte) *GlxGetVisualConfigsReply {
+ v := new(GlxGetVisualConfigsReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.NumVisuals = Get32(buf[b:])
+ b += 4
+
+ v.NumProperties = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ v.PropertyList = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.PropertyList[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetVisualConfigsCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetVisualConfigs
+func (c *Conn) glxGetVisualConfigsRequest(Screen uint32) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 14 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ return buf
+}
+
+// Request GlxDestroyGLXPixmap
+// size: 8
+type GlxDestroyGLXPixmapCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDestroyGLXPixmap
+func (c *Conn) GlxDestroyGLXPixmap(GlxPixmap Id) GlxDestroyGLXPixmapCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDestroyGLXPixmapRequest(GlxPixmap), cookie)
+ return GlxDestroyGLXPixmapCookie{cookie}
+}
+
+func (c *Conn) GlxDestroyGLXPixmapChecked(GlxPixmap Id) GlxDestroyGLXPixmapCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDestroyGLXPixmapRequest(GlxPixmap), cookie)
+ return GlxDestroyGLXPixmapCookie{cookie}
+}
+
+func (cook GlxDestroyGLXPixmapCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDestroyGLXPixmap
+func (c *Conn) glxDestroyGLXPixmapRequest(GlxPixmap Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 15 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(GlxPixmap))
+ b += 4
+
+ return buf
+}
+
+// Request GlxVendorPrivate
+// size: pad((12 + pad((len(Data) * 1))))
+type GlxVendorPrivateCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxVendorPrivate
+func (c *Conn) GlxVendorPrivate(VendorCode uint32, ContextTag GlxContextTag, Data []byte) GlxVendorPrivateCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxVendorPrivateRequest(VendorCode, ContextTag, Data), cookie)
+ return GlxVendorPrivateCookie{cookie}
+}
+
+func (c *Conn) GlxVendorPrivateChecked(VendorCode uint32, ContextTag GlxContextTag, Data []byte) GlxVendorPrivateCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxVendorPrivateRequest(VendorCode, ContextTag, Data), cookie)
+ return GlxVendorPrivateCookie{cookie}
+}
+
+func (cook GlxVendorPrivateCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxVendorPrivate
+func (c *Conn) glxVendorPrivateRequest(VendorCode uint32, ContextTag GlxContextTag, Data []byte) []byte {
+ size := pad((12 + pad((len(Data) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 16 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], VendorCode)
+ b += 4
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ copy(buf[b:], Data[:len(Data)])
+ b += pad(int(len(Data)))
+
+ return buf
+}
+
+// Request GlxVendorPrivateWithReply
+// size: pad((12 + pad((len(Data) * 1))))
+type GlxVendorPrivateWithReplyCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxVendorPrivateWithReply(VendorCode uint32, ContextTag GlxContextTag, Data []byte) GlxVendorPrivateWithReplyCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxVendorPrivateWithReplyRequest(VendorCode, ContextTag, Data), cookie)
+ return GlxVendorPrivateWithReplyCookie{cookie}
+}
+
+func (c *Conn) GlxVendorPrivateWithReplyUnchecked(VendorCode uint32, ContextTag GlxContextTag, Data []byte) GlxVendorPrivateWithReplyCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxVendorPrivateWithReplyRequest(VendorCode, ContextTag, Data), cookie)
+ return GlxVendorPrivateWithReplyCookie{cookie}
+}
+
+// Request reply for GlxVendorPrivateWithReply
+// size: (36 + pad(((int(Length) * 4) * 1)))
+type GlxVendorPrivateWithReplyReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ Retval uint32
+ Data1 []byte // size: 24
+ Data2 []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxVendorPrivateWithReply
+func (cook GlxVendorPrivateWithReplyCookie) Reply() (*GlxVendorPrivateWithReplyReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxVendorPrivateWithReplyReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxVendorPrivateWithReply
+func glxVendorPrivateWithReplyReply(buf []byte) *GlxVendorPrivateWithReplyReply {
+ v := new(GlxVendorPrivateWithReplyReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.Retval = Get32(buf[b:])
+ b += 4
+
+ v.Data1 = make([]byte, 24)
+ copy(v.Data1[:24], buf[b:])
+ b += pad(int(24))
+
+ v.Data2 = make([]byte, (int(v.Length) * 4))
+ copy(v.Data2[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxVendorPrivateWithReplyCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxVendorPrivateWithReply
+func (c *Conn) glxVendorPrivateWithReplyRequest(VendorCode uint32, ContextTag GlxContextTag, Data []byte) []byte {
+ size := pad((12 + pad((len(Data) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 17 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], VendorCode)
+ b += 4
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ copy(buf[b:], Data[:len(Data)])
+ b += pad(int(len(Data)))
+
+ return buf
+}
+
+// Request GlxQueryExtensionsString
+// size: 8
+type GlxQueryExtensionsStringCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxQueryExtensionsString(Screen uint32) GlxQueryExtensionsStringCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxQueryExtensionsStringRequest(Screen), cookie)
+ return GlxQueryExtensionsStringCookie{cookie}
+}
+
+func (c *Conn) GlxQueryExtensionsStringUnchecked(Screen uint32) GlxQueryExtensionsStringCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxQueryExtensionsStringRequest(Screen), cookie)
+ return GlxQueryExtensionsStringCookie{cookie}
+}
+
+// Request reply for GlxQueryExtensionsString
+// size: 32
+type GlxQueryExtensionsStringReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ // padding: 16 bytes
+}
+
+// Waits and reads reply data from request GlxQueryExtensionsString
+func (cook GlxQueryExtensionsStringCookie) Reply() (*GlxQueryExtensionsStringReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxQueryExtensionsStringReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxQueryExtensionsString
+func glxQueryExtensionsStringReply(buf []byte) *GlxQueryExtensionsStringReply {
+ v := new(GlxQueryExtensionsStringReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ return v
+}
+
+func (cook GlxQueryExtensionsStringCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxQueryExtensionsString
+func (c *Conn) glxQueryExtensionsStringRequest(Screen uint32) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 18 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ return buf
+}
+
+// Request GlxQueryServerString
+// size: 12
+type GlxQueryServerStringCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxQueryServerString(Screen uint32, Name uint32) GlxQueryServerStringCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxQueryServerStringRequest(Screen, Name), cookie)
+ return GlxQueryServerStringCookie{cookie}
+}
+
+func (c *Conn) GlxQueryServerStringUnchecked(Screen uint32, Name uint32) GlxQueryServerStringCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxQueryServerStringRequest(Screen, Name), cookie)
+ return GlxQueryServerStringCookie{cookie}
+}
+
+// Request reply for GlxQueryServerString
+// size: (32 + pad((int(StrLen) * 1)))
+type GlxQueryServerStringReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ StrLen uint32
+ // padding: 16 bytes
+ String string // size: pad((int(StrLen) * 1))
+}
+
+// Waits and reads reply data from request GlxQueryServerString
+func (cook GlxQueryServerStringCookie) Reply() (*GlxQueryServerStringReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxQueryServerStringReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxQueryServerString
+func glxQueryServerStringReply(buf []byte) *GlxQueryServerStringReply {
+ v := new(GlxQueryServerStringReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.StrLen = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ {
+ byteString := make([]byte, v.StrLen)
+ copy(byteString[:v.StrLen], buf[b:])
+ v.String = string(byteString)
+ b += pad(int(v.StrLen))
+ }
+
+ return v
+}
+
+func (cook GlxQueryServerStringCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxQueryServerString
+func (c *Conn) glxQueryServerStringRequest(Screen uint32, Name uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 19 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], Name)
+ b += 4
+
+ return buf
+}
+
+// Request GlxClientInfo
+// size: pad((16 + pad((int(StrLen) * 1))))
+type GlxClientInfoCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxClientInfo
+func (c *Conn) GlxClientInfo(MajorVersion uint32, MinorVersion uint32, StrLen uint32, String string) GlxClientInfoCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxClientInfoRequest(MajorVersion, MinorVersion, StrLen, String), cookie)
+ return GlxClientInfoCookie{cookie}
+}
+
+func (c *Conn) GlxClientInfoChecked(MajorVersion uint32, MinorVersion uint32, StrLen uint32, String string) GlxClientInfoCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxClientInfoRequest(MajorVersion, MinorVersion, StrLen, String), cookie)
+ return GlxClientInfoCookie{cookie}
+}
+
+func (cook GlxClientInfoCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxClientInfo
+func (c *Conn) glxClientInfoRequest(MajorVersion uint32, MinorVersion uint32, StrLen uint32, String string) []byte {
+ size := pad((16 + pad((int(StrLen) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 20 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], MajorVersion)
+ b += 4
+
+ Put32(buf[b:], MinorVersion)
+ b += 4
+
+ Put32(buf[b:], StrLen)
+ b += 4
+
+ copy(buf[b:], String[:StrLen])
+ b += pad(int(StrLen))
+
+ return buf
+}
+
+// Request GlxGetFBConfigs
+// size: 8
+type GlxGetFBConfigsCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetFBConfigs(Screen uint32) GlxGetFBConfigsCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetFBConfigsRequest(Screen), cookie)
+ return GlxGetFBConfigsCookie{cookie}
+}
+
+func (c *Conn) GlxGetFBConfigsUnchecked(Screen uint32) GlxGetFBConfigsCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetFBConfigsRequest(Screen), cookie)
+ return GlxGetFBConfigsCookie{cookie}
+}
+
+// Request reply for GlxGetFBConfigs
+// size: (32 + pad((int(Length) * 4)))
+type GlxGetFBConfigsReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ NumFbConfigs uint32
+ NumProperties uint32
+ // padding: 16 bytes
+ PropertyList []uint32 // size: pad((int(Length) * 4))
+}
+
+// Waits and reads reply data from request GlxGetFBConfigs
+func (cook GlxGetFBConfigsCookie) Reply() (*GlxGetFBConfigsReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetFBConfigsReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetFBConfigs
+func glxGetFBConfigsReply(buf []byte) *GlxGetFBConfigsReply {
+ v := new(GlxGetFBConfigsReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.NumFbConfigs = Get32(buf[b:])
+ b += 4
+
+ v.NumProperties = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ v.PropertyList = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.PropertyList[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetFBConfigsCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetFBConfigs
+func (c *Conn) glxGetFBConfigsRequest(Screen uint32) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 21 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ return buf
+}
+
+// Request GlxCreatePixmap
+// size: pad((24 + pad(((int(NumAttribs) * 2) * 4))))
+type GlxCreatePixmapCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreatePixmap
+func (c *Conn) GlxCreatePixmap(Screen uint32, Fbconfig Id, Pixmap Id, GlxPixmap Id, NumAttribs uint32, Attribs []uint32) GlxCreatePixmapCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreatePixmapRequest(Screen, Fbconfig, Pixmap, GlxPixmap, NumAttribs, Attribs), cookie)
+ return GlxCreatePixmapCookie{cookie}
+}
+
+func (c *Conn) GlxCreatePixmapChecked(Screen uint32, Fbconfig Id, Pixmap Id, GlxPixmap Id, NumAttribs uint32, Attribs []uint32) GlxCreatePixmapCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreatePixmapRequest(Screen, Fbconfig, Pixmap, GlxPixmap, NumAttribs, Attribs), cookie)
+ return GlxCreatePixmapCookie{cookie}
+}
+
+func (cook GlxCreatePixmapCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreatePixmap
+func (c *Conn) glxCreatePixmapRequest(Screen uint32, Fbconfig Id, Pixmap Id, GlxPixmap Id, NumAttribs uint32, Attribs []uint32) []byte {
+ size := pad((24 + pad(((int(NumAttribs) * 2) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 22 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(Fbconfig))
+ b += 4
+
+ Put32(buf[b:], uint32(Pixmap))
+ b += 4
+
+ Put32(buf[b:], uint32(GlxPixmap))
+ b += 4
+
+ Put32(buf[b:], NumAttribs)
+ b += 4
+
+ for i := 0; i < int((int(NumAttribs) * 2)); i++ {
+ Put32(buf[b:], Attribs[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxDestroyPixmap
+// size: 8
+type GlxDestroyPixmapCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDestroyPixmap
+func (c *Conn) GlxDestroyPixmap(GlxPixmap Id) GlxDestroyPixmapCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDestroyPixmapRequest(GlxPixmap), cookie)
+ return GlxDestroyPixmapCookie{cookie}
+}
+
+func (c *Conn) GlxDestroyPixmapChecked(GlxPixmap Id) GlxDestroyPixmapCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDestroyPixmapRequest(GlxPixmap), cookie)
+ return GlxDestroyPixmapCookie{cookie}
+}
+
+func (cook GlxDestroyPixmapCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDestroyPixmap
+func (c *Conn) glxDestroyPixmapRequest(GlxPixmap Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 23 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(GlxPixmap))
+ b += 4
+
+ return buf
+}
+
+// Request GlxCreateNewContext
+// size: 28
+type GlxCreateNewContextCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreateNewContext
+func (c *Conn) GlxCreateNewContext(Context Id, Fbconfig Id, Screen uint32, RenderType uint32, ShareList Id, IsDirect bool) GlxCreateNewContextCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreateNewContextRequest(Context, Fbconfig, Screen, RenderType, ShareList, IsDirect), cookie)
+ return GlxCreateNewContextCookie{cookie}
+}
+
+func (c *Conn) GlxCreateNewContextChecked(Context Id, Fbconfig Id, Screen uint32, RenderType uint32, ShareList Id, IsDirect bool) GlxCreateNewContextCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreateNewContextRequest(Context, Fbconfig, Screen, RenderType, ShareList, IsDirect), cookie)
+ return GlxCreateNewContextCookie{cookie}
+}
+
+func (cook GlxCreateNewContextCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreateNewContext
+func (c *Conn) glxCreateNewContextRequest(Context Id, Fbconfig Id, Screen uint32, RenderType uint32, ShareList Id, IsDirect bool) []byte {
+ size := 28
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 24 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ Put32(buf[b:], uint32(Fbconfig))
+ b += 4
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], RenderType)
+ b += 4
+
+ Put32(buf[b:], uint32(ShareList))
+ b += 4
+
+ if IsDirect {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ b += 3 // padding
+
+ return buf
+}
+
+// Request GlxQueryContext
+// size: 8
+type GlxQueryContextCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxQueryContext(Context Id) GlxQueryContextCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxQueryContextRequest(Context), cookie)
+ return GlxQueryContextCookie{cookie}
+}
+
+func (c *Conn) GlxQueryContextUnchecked(Context Id) GlxQueryContextCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxQueryContextRequest(Context), cookie)
+ return GlxQueryContextCookie{cookie}
+}
+
+// Request reply for GlxQueryContext
+// size: (32 + pad(((int(NumAttribs) * 2) * 4)))
+type GlxQueryContextReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ NumAttribs uint32
+ // padding: 20 bytes
+ Attribs []uint32 // size: pad(((int(NumAttribs) * 2) * 4))
+}
+
+// Waits and reads reply data from request GlxQueryContext
+func (cook GlxQueryContextCookie) Reply() (*GlxQueryContextReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxQueryContextReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxQueryContext
+func glxQueryContextReply(buf []byte) *GlxQueryContextReply {
+ v := new(GlxQueryContextReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.NumAttribs = Get32(buf[b:])
+ b += 4
+
+ b += 20 // padding
+
+ v.Attribs = make([]uint32, (int(v.NumAttribs) * 2))
+ for i := 0; i < int((int(v.NumAttribs) * 2)); i++ {
+ v.Attribs[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxQueryContextCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxQueryContext
+func (c *Conn) glxQueryContextRequest(Context Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 25 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ return buf
+}
+
+// Request GlxMakeContextCurrent
+// size: 20
+type GlxMakeContextCurrentCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxMakeContextCurrent(OldContextTag GlxContextTag, Drawable Id, ReadDrawable Id, Context Id) GlxMakeContextCurrentCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxMakeContextCurrentRequest(OldContextTag, Drawable, ReadDrawable, Context), cookie)
+ return GlxMakeContextCurrentCookie{cookie}
+}
+
+func (c *Conn) GlxMakeContextCurrentUnchecked(OldContextTag GlxContextTag, Drawable Id, ReadDrawable Id, Context Id) GlxMakeContextCurrentCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxMakeContextCurrentRequest(OldContextTag, Drawable, ReadDrawable, Context), cookie)
+ return GlxMakeContextCurrentCookie{cookie}
+}
+
+// Request reply for GlxMakeContextCurrent
+// size: 32
+type GlxMakeContextCurrentReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ ContextTag GlxContextTag
+ // padding: 20 bytes
+}
+
+// Waits and reads reply data from request GlxMakeContextCurrent
+func (cook GlxMakeContextCurrentCookie) Reply() (*GlxMakeContextCurrentReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxMakeContextCurrentReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxMakeContextCurrent
+func glxMakeContextCurrentReply(buf []byte) *GlxMakeContextCurrentReply {
+ v := new(GlxMakeContextCurrentReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.ContextTag = GlxContextTag(Get32(buf[b:]))
+ b += 4
+
+ b += 20 // padding
+
+ return v
+}
+
+func (cook GlxMakeContextCurrentCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxMakeContextCurrent
+func (c *Conn) glxMakeContextCurrentRequest(OldContextTag GlxContextTag, Drawable Id, ReadDrawable Id, Context Id) []byte {
+ size := 20
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 26 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(OldContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Drawable))
+ b += 4
+
+ Put32(buf[b:], uint32(ReadDrawable))
+ b += 4
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ return buf
+}
+
+// Request GlxCreatePbuffer
+// size: pad((20 + pad(((int(NumAttribs) * 2) * 4))))
+type GlxCreatePbufferCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreatePbuffer
+func (c *Conn) GlxCreatePbuffer(Screen uint32, Fbconfig Id, Pbuffer Id, NumAttribs uint32, Attribs []uint32) GlxCreatePbufferCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreatePbufferRequest(Screen, Fbconfig, Pbuffer, NumAttribs, Attribs), cookie)
+ return GlxCreatePbufferCookie{cookie}
+}
+
+func (c *Conn) GlxCreatePbufferChecked(Screen uint32, Fbconfig Id, Pbuffer Id, NumAttribs uint32, Attribs []uint32) GlxCreatePbufferCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreatePbufferRequest(Screen, Fbconfig, Pbuffer, NumAttribs, Attribs), cookie)
+ return GlxCreatePbufferCookie{cookie}
+}
+
+func (cook GlxCreatePbufferCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreatePbuffer
+func (c *Conn) glxCreatePbufferRequest(Screen uint32, Fbconfig Id, Pbuffer Id, NumAttribs uint32, Attribs []uint32) []byte {
+ size := pad((20 + pad(((int(NumAttribs) * 2) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 27 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(Fbconfig))
+ b += 4
+
+ Put32(buf[b:], uint32(Pbuffer))
+ b += 4
+
+ Put32(buf[b:], NumAttribs)
+ b += 4
+
+ for i := 0; i < int((int(NumAttribs) * 2)); i++ {
+ Put32(buf[b:], Attribs[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxDestroyPbuffer
+// size: 8
+type GlxDestroyPbufferCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDestroyPbuffer
+func (c *Conn) GlxDestroyPbuffer(Pbuffer Id) GlxDestroyPbufferCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDestroyPbufferRequest(Pbuffer), cookie)
+ return GlxDestroyPbufferCookie{cookie}
+}
+
+func (c *Conn) GlxDestroyPbufferChecked(Pbuffer Id) GlxDestroyPbufferCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDestroyPbufferRequest(Pbuffer), cookie)
+ return GlxDestroyPbufferCookie{cookie}
+}
+
+func (cook GlxDestroyPbufferCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDestroyPbuffer
+func (c *Conn) glxDestroyPbufferRequest(Pbuffer Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 28 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Pbuffer))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetDrawableAttributes
+// size: 8
+type GlxGetDrawableAttributesCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetDrawableAttributes(Drawable Id) GlxGetDrawableAttributesCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetDrawableAttributesRequest(Drawable), cookie)
+ return GlxGetDrawableAttributesCookie{cookie}
+}
+
+func (c *Conn) GlxGetDrawableAttributesUnchecked(Drawable Id) GlxGetDrawableAttributesCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetDrawableAttributesRequest(Drawable), cookie)
+ return GlxGetDrawableAttributesCookie{cookie}
+}
+
+// Request reply for GlxGetDrawableAttributes
+// size: (32 + pad(((int(NumAttribs) * 2) * 4)))
+type GlxGetDrawableAttributesReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ NumAttribs uint32
+ // padding: 20 bytes
+ Attribs []uint32 // size: pad(((int(NumAttribs) * 2) * 4))
+}
+
+// Waits and reads reply data from request GlxGetDrawableAttributes
+func (cook GlxGetDrawableAttributesCookie) Reply() (*GlxGetDrawableAttributesReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetDrawableAttributesReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetDrawableAttributes
+func glxGetDrawableAttributesReply(buf []byte) *GlxGetDrawableAttributesReply {
+ v := new(GlxGetDrawableAttributesReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.NumAttribs = Get32(buf[b:])
+ b += 4
+
+ b += 20 // padding
+
+ v.Attribs = make([]uint32, (int(v.NumAttribs) * 2))
+ for i := 0; i < int((int(v.NumAttribs) * 2)); i++ {
+ v.Attribs[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetDrawableAttributesCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetDrawableAttributes
+func (c *Conn) glxGetDrawableAttributesRequest(Drawable Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 29 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Drawable))
+ b += 4
+
+ return buf
+}
+
+// Request GlxChangeDrawableAttributes
+// size: pad((12 + pad(((int(NumAttribs) * 2) * 4))))
+type GlxChangeDrawableAttributesCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxChangeDrawableAttributes
+func (c *Conn) GlxChangeDrawableAttributes(Drawable Id, NumAttribs uint32, Attribs []uint32) GlxChangeDrawableAttributesCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxChangeDrawableAttributesRequest(Drawable, NumAttribs, Attribs), cookie)
+ return GlxChangeDrawableAttributesCookie{cookie}
+}
+
+func (c *Conn) GlxChangeDrawableAttributesChecked(Drawable Id, NumAttribs uint32, Attribs []uint32) GlxChangeDrawableAttributesCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxChangeDrawableAttributesRequest(Drawable, NumAttribs, Attribs), cookie)
+ return GlxChangeDrawableAttributesCookie{cookie}
+}
+
+func (cook GlxChangeDrawableAttributesCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxChangeDrawableAttributes
+func (c *Conn) glxChangeDrawableAttributesRequest(Drawable Id, NumAttribs uint32, Attribs []uint32) []byte {
+ size := pad((12 + pad(((int(NumAttribs) * 2) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 30 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Drawable))
+ b += 4
+
+ Put32(buf[b:], NumAttribs)
+ b += 4
+
+ for i := 0; i < int((int(NumAttribs) * 2)); i++ {
+ Put32(buf[b:], Attribs[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxCreateWindow
+// size: pad((24 + pad(((int(NumAttribs) * 2) * 4))))
+type GlxCreateWindowCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreateWindow
+func (c *Conn) GlxCreateWindow(Screen uint32, Fbconfig Id, Window Id, GlxWindow Id, NumAttribs uint32, Attribs []uint32) GlxCreateWindowCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreateWindowRequest(Screen, Fbconfig, Window, GlxWindow, NumAttribs, Attribs), cookie)
+ return GlxCreateWindowCookie{cookie}
+}
+
+func (c *Conn) GlxCreateWindowChecked(Screen uint32, Fbconfig Id, Window Id, GlxWindow Id, NumAttribs uint32, Attribs []uint32) GlxCreateWindowCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreateWindowRequest(Screen, Fbconfig, Window, GlxWindow, NumAttribs, Attribs), cookie)
+ return GlxCreateWindowCookie{cookie}
+}
+
+func (cook GlxCreateWindowCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreateWindow
+func (c *Conn) glxCreateWindowRequest(Screen uint32, Fbconfig Id, Window Id, GlxWindow Id, NumAttribs uint32, Attribs []uint32) []byte {
+ size := pad((24 + pad(((int(NumAttribs) * 2) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 31 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(Fbconfig))
+ b += 4
+
+ Put32(buf[b:], uint32(Window))
+ b += 4
+
+ Put32(buf[b:], uint32(GlxWindow))
+ b += 4
+
+ Put32(buf[b:], NumAttribs)
+ b += 4
+
+ for i := 0; i < int((int(NumAttribs) * 2)); i++ {
+ Put32(buf[b:], Attribs[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxDeleteWindow
+// size: 8
+type GlxDeleteWindowCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDeleteWindow
+func (c *Conn) GlxDeleteWindow(Glxwindow Id) GlxDeleteWindowCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDeleteWindowRequest(Glxwindow), cookie)
+ return GlxDeleteWindowCookie{cookie}
+}
+
+func (c *Conn) GlxDeleteWindowChecked(Glxwindow Id) GlxDeleteWindowCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDeleteWindowRequest(Glxwindow), cookie)
+ return GlxDeleteWindowCookie{cookie}
+}
+
+func (cook GlxDeleteWindowCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDeleteWindow
+func (c *Conn) glxDeleteWindowRequest(Glxwindow Id) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 32 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Glxwindow))
+ b += 4
+
+ return buf
+}
+
+// Request GlxSetClientInfoARB
+// size: pad((((24 + pad(((int(NumVersions) * 2) * 4))) + pad((int(GlStrLen) * 1))) + pad((int(GlxStrLen) * 1))))
+type GlxSetClientInfoARBCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxSetClientInfoARB
+func (c *Conn) GlxSetClientInfoARB(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) GlxSetClientInfoARBCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxSetClientInfoARBRequest(MajorVersion, MinorVersion, NumVersions, GlStrLen, GlxStrLen, GlVersions, GlExtensionString, GlxExtensionString), cookie)
+ return GlxSetClientInfoARBCookie{cookie}
+}
+
+func (c *Conn) GlxSetClientInfoARBChecked(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) GlxSetClientInfoARBCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxSetClientInfoARBRequest(MajorVersion, MinorVersion, NumVersions, GlStrLen, GlxStrLen, GlVersions, GlExtensionString, GlxExtensionString), cookie)
+ return GlxSetClientInfoARBCookie{cookie}
+}
+
+func (cook GlxSetClientInfoARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxSetClientInfoARB
+func (c *Conn) glxSetClientInfoARBRequest(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) []byte {
+ size := pad((((24 + pad(((int(NumVersions) * 2) * 4))) + pad((int(GlStrLen) * 1))) + pad((int(GlxStrLen) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 33 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], MajorVersion)
+ b += 4
+
+ Put32(buf[b:], MinorVersion)
+ b += 4
+
+ Put32(buf[b:], NumVersions)
+ b += 4
+
+ Put32(buf[b:], GlStrLen)
+ b += 4
+
+ Put32(buf[b:], GlxStrLen)
+ b += 4
+
+ for i := 0; i < int((int(NumVersions) * 2)); i++ {
+ Put32(buf[b:], GlVersions[i])
+ b += 4
+ }
+ b = pad(b)
+
+ copy(buf[b:], GlExtensionString[:GlStrLen])
+ b += pad(int(GlStrLen))
+
+ copy(buf[b:], GlxExtensionString[:GlxStrLen])
+ b += pad(int(GlxStrLen))
+
+ return buf
+}
+
+// Request GlxCreateContextAttribsARB
+// size: pad((28 + pad(((int(NumAttribs) * 2) * 4))))
+type GlxCreateContextAttribsARBCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxCreateContextAttribsARB
+func (c *Conn) GlxCreateContextAttribsARB(Context Id, Fbconfig Id, Screen uint32, ShareList Id, IsDirect bool, NumAttribs uint32, Attribs []uint32) GlxCreateContextAttribsARBCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxCreateContextAttribsARBRequest(Context, Fbconfig, Screen, ShareList, IsDirect, NumAttribs, Attribs), cookie)
+ return GlxCreateContextAttribsARBCookie{cookie}
+}
+
+func (c *Conn) GlxCreateContextAttribsARBChecked(Context Id, Fbconfig Id, Screen uint32, ShareList Id, IsDirect bool, NumAttribs uint32, Attribs []uint32) GlxCreateContextAttribsARBCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxCreateContextAttribsARBRequest(Context, Fbconfig, Screen, ShareList, IsDirect, NumAttribs, Attribs), cookie)
+ return GlxCreateContextAttribsARBCookie{cookie}
+}
+
+func (cook GlxCreateContextAttribsARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxCreateContextAttribsARB
+func (c *Conn) glxCreateContextAttribsARBRequest(Context Id, Fbconfig Id, Screen uint32, ShareList Id, IsDirect bool, NumAttribs uint32, Attribs []uint32) []byte {
+ size := pad((28 + pad(((int(NumAttribs) * 2) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 34 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(Context))
+ b += 4
+
+ Put32(buf[b:], uint32(Fbconfig))
+ b += 4
+
+ Put32(buf[b:], Screen)
+ b += 4
+
+ Put32(buf[b:], uint32(ShareList))
+ b += 4
+
+ if IsDirect {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ b += 3 // padding
+
+ Put32(buf[b:], NumAttribs)
+ b += 4
+
+ for i := 0; i < int((int(NumAttribs) * 2)); i++ {
+ Put32(buf[b:], Attribs[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxSetClientInfo2ARB
+// size: pad((((24 + pad(((int(NumVersions) * 3) * 4))) + pad((int(GlStrLen) * 1))) + pad((int(GlxStrLen) * 1))))
+type GlxSetClientInfo2ARBCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxSetClientInfo2ARB
+func (c *Conn) GlxSetClientInfo2ARB(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) GlxSetClientInfo2ARBCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxSetClientInfo2ARBRequest(MajorVersion, MinorVersion, NumVersions, GlStrLen, GlxStrLen, GlVersions, GlExtensionString, GlxExtensionString), cookie)
+ return GlxSetClientInfo2ARBCookie{cookie}
+}
+
+func (c *Conn) GlxSetClientInfo2ARBChecked(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) GlxSetClientInfo2ARBCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxSetClientInfo2ARBRequest(MajorVersion, MinorVersion, NumVersions, GlStrLen, GlxStrLen, GlVersions, GlExtensionString, GlxExtensionString), cookie)
+ return GlxSetClientInfo2ARBCookie{cookie}
+}
+
+func (cook GlxSetClientInfo2ARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxSetClientInfo2ARB
+func (c *Conn) glxSetClientInfo2ARBRequest(MajorVersion uint32, MinorVersion uint32, NumVersions uint32, GlStrLen uint32, GlxStrLen uint32, GlVersions []uint32, GlExtensionString string, GlxExtensionString string) []byte {
+ size := pad((((24 + pad(((int(NumVersions) * 3) * 4))) + pad((int(GlStrLen) * 1))) + pad((int(GlxStrLen) * 1))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 35 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], MajorVersion)
+ b += 4
+
+ Put32(buf[b:], MinorVersion)
+ b += 4
+
+ Put32(buf[b:], NumVersions)
+ b += 4
+
+ Put32(buf[b:], GlStrLen)
+ b += 4
+
+ Put32(buf[b:], GlxStrLen)
+ b += 4
+
+ for i := 0; i < int((int(NumVersions) * 3)); i++ {
+ Put32(buf[b:], GlVersions[i])
+ b += 4
+ }
+ b = pad(b)
+
+ copy(buf[b:], GlExtensionString[:GlStrLen])
+ b += pad(int(GlStrLen))
+
+ copy(buf[b:], GlxExtensionString[:GlxStrLen])
+ b += pad(int(GlxStrLen))
+
+ return buf
+}
+
+// Request GlxNewList
+// size: 16
+type GlxNewListCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxNewList
+func (c *Conn) GlxNewList(ContextTag GlxContextTag, List uint32, Mode uint32) GlxNewListCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxNewListRequest(ContextTag, List, Mode), cookie)
+ return GlxNewListCookie{cookie}
+}
+
+func (c *Conn) GlxNewListChecked(ContextTag GlxContextTag, List uint32, Mode uint32) GlxNewListCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxNewListRequest(ContextTag, List, Mode), cookie)
+ return GlxNewListCookie{cookie}
+}
+
+func (cook GlxNewListCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxNewList
+func (c *Conn) glxNewListRequest(ContextTag GlxContextTag, List uint32, Mode uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 101 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], List)
+ b += 4
+
+ Put32(buf[b:], Mode)
+ b += 4
+
+ return buf
+}
+
+// Request GlxEndList
+// size: 8
+type GlxEndListCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxEndList
+func (c *Conn) GlxEndList(ContextTag GlxContextTag) GlxEndListCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxEndListRequest(ContextTag), cookie)
+ return GlxEndListCookie{cookie}
+}
+
+func (c *Conn) GlxEndListChecked(ContextTag GlxContextTag) GlxEndListCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxEndListRequest(ContextTag), cookie)
+ return GlxEndListCookie{cookie}
+}
+
+func (cook GlxEndListCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxEndList
+func (c *Conn) glxEndListRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 102 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxDeleteLists
+// size: 16
+type GlxDeleteListsCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDeleteLists
+func (c *Conn) GlxDeleteLists(ContextTag GlxContextTag, List uint32, Range int32) GlxDeleteListsCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDeleteListsRequest(ContextTag, List, Range), cookie)
+ return GlxDeleteListsCookie{cookie}
+}
+
+func (c *Conn) GlxDeleteListsChecked(ContextTag GlxContextTag, List uint32, Range int32) GlxDeleteListsCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDeleteListsRequest(ContextTag, List, Range), cookie)
+ return GlxDeleteListsCookie{cookie}
+}
+
+func (cook GlxDeleteListsCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDeleteLists
+func (c *Conn) glxDeleteListsRequest(ContextTag GlxContextTag, List uint32, Range int32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 103 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], List)
+ b += 4
+
+ Put32(buf[b:], uint32(Range))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGenLists
+// size: 12
+type GlxGenListsCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGenLists(ContextTag GlxContextTag, Range int32) GlxGenListsCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGenListsRequest(ContextTag, Range), cookie)
+ return GlxGenListsCookie{cookie}
+}
+
+func (c *Conn) GlxGenListsUnchecked(ContextTag GlxContextTag, Range int32) GlxGenListsCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGenListsRequest(ContextTag, Range), cookie)
+ return GlxGenListsCookie{cookie}
+}
+
+// Request reply for GlxGenLists
+// size: 12
+type GlxGenListsReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal uint32
+}
+
+// Waits and reads reply data from request GlxGenLists
+func (cook GlxGenListsCookie) Reply() (*GlxGenListsReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGenListsReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGenLists
+func glxGenListsReply(buf []byte) *GlxGenListsReply {
+ v := new(GlxGenListsReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = Get32(buf[b:])
+ b += 4
+
+ return v
+}
+
+func (cook GlxGenListsCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGenLists
+func (c *Conn) glxGenListsRequest(ContextTag GlxContextTag, Range int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 104 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Range))
+ b += 4
+
+ return buf
+}
+
+// Request GlxFeedbackBuffer
+// size: 16
+type GlxFeedbackBufferCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxFeedbackBuffer
+func (c *Conn) GlxFeedbackBuffer(ContextTag GlxContextTag, Size int32, Type int32) GlxFeedbackBufferCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxFeedbackBufferRequest(ContextTag, Size, Type), cookie)
+ return GlxFeedbackBufferCookie{cookie}
+}
+
+func (c *Conn) GlxFeedbackBufferChecked(ContextTag GlxContextTag, Size int32, Type int32) GlxFeedbackBufferCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxFeedbackBufferRequest(ContextTag, Size, Type), cookie)
+ return GlxFeedbackBufferCookie{cookie}
+}
+
+func (cook GlxFeedbackBufferCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxFeedbackBuffer
+func (c *Conn) glxFeedbackBufferRequest(ContextTag GlxContextTag, Size int32, Type int32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 105 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Size))
+ b += 4
+
+ Put32(buf[b:], uint32(Type))
+ b += 4
+
+ return buf
+}
+
+// Request GlxSelectBuffer
+// size: 12
+type GlxSelectBufferCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxSelectBuffer
+func (c *Conn) GlxSelectBuffer(ContextTag GlxContextTag, Size int32) GlxSelectBufferCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxSelectBufferRequest(ContextTag, Size), cookie)
+ return GlxSelectBufferCookie{cookie}
+}
+
+func (c *Conn) GlxSelectBufferChecked(ContextTag GlxContextTag, Size int32) GlxSelectBufferCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxSelectBufferRequest(ContextTag, Size), cookie)
+ return GlxSelectBufferCookie{cookie}
+}
+
+func (cook GlxSelectBufferCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxSelectBuffer
+func (c *Conn) glxSelectBufferRequest(ContextTag GlxContextTag, Size int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 106 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Size))
+ b += 4
+
+ return buf
+}
+
+// Request GlxRenderMode
+// size: 12
+type GlxRenderModeCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxRenderMode(ContextTag GlxContextTag, Mode uint32) GlxRenderModeCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxRenderModeRequest(ContextTag, Mode), cookie)
+ return GlxRenderModeCookie{cookie}
+}
+
+func (c *Conn) GlxRenderModeUnchecked(ContextTag GlxContextTag, Mode uint32) GlxRenderModeCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxRenderModeRequest(ContextTag, Mode), cookie)
+ return GlxRenderModeCookie{cookie}
+}
+
+// Request reply for GlxRenderMode
+// size: (32 + pad((int(N) * 4)))
+type GlxRenderModeReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal uint32
+ N uint32
+ NewMode uint32
+ // padding: 12 bytes
+ Data []uint32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxRenderMode
+func (cook GlxRenderModeCookie) Reply() (*GlxRenderModeReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxRenderModeReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxRenderMode
+func glxRenderModeReply(buf []byte) *GlxRenderModeReply {
+ v := new(GlxRenderModeReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = Get32(buf[b:])
+ b += 4
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.NewMode = Get32(buf[b:])
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]uint32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxRenderModeCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxRenderMode
+func (c *Conn) glxRenderModeRequest(ContextTag GlxContextTag, Mode uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 107 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Mode)
+ b += 4
+
+ return buf
+}
+
+// Request GlxFinish
+// size: 8
+type GlxFinishCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxFinish(ContextTag GlxContextTag) GlxFinishCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxFinishRequest(ContextTag), cookie)
+ return GlxFinishCookie{cookie}
+}
+
+func (c *Conn) GlxFinishUnchecked(ContextTag GlxContextTag) GlxFinishCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxFinishRequest(ContextTag), cookie)
+ return GlxFinishCookie{cookie}
+}
+
+// Request reply for GlxFinish
+// size: 8
+type GlxFinishReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+}
+
+// Waits and reads reply data from request GlxFinish
+func (cook GlxFinishCookie) Reply() (*GlxFinishReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxFinishReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxFinish
+func glxFinishReply(buf []byte) *GlxFinishReply {
+ v := new(GlxFinishReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ return v
+}
+
+func (cook GlxFinishCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxFinish
+func (c *Conn) glxFinishRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 108 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxPixelStoref
+// size: 16
+type GlxPixelStorefCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxPixelStoref
+func (c *Conn) GlxPixelStoref(ContextTag GlxContextTag, Pname uint32, Datum GlxFloat32) GlxPixelStorefCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxPixelStorefRequest(ContextTag, Pname, Datum), cookie)
+ return GlxPixelStorefCookie{cookie}
+}
+
+func (c *Conn) GlxPixelStorefChecked(ContextTag GlxContextTag, Pname uint32, Datum GlxFloat32) GlxPixelStorefCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxPixelStorefRequest(ContextTag, Pname, Datum), cookie)
+ return GlxPixelStorefCookie{cookie}
+}
+
+func (cook GlxPixelStorefCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxPixelStoref
+func (c *Conn) glxPixelStorefRequest(ContextTag GlxContextTag, Pname uint32, Datum GlxFloat32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 109 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ Put32(buf[b:], uint32(Datum))
+ b += 4
+
+ return buf
+}
+
+// Request GlxPixelStorei
+// size: 16
+type GlxPixelStoreiCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxPixelStorei
+func (c *Conn) GlxPixelStorei(ContextTag GlxContextTag, Pname uint32, Datum int32) GlxPixelStoreiCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxPixelStoreiRequest(ContextTag, Pname, Datum), cookie)
+ return GlxPixelStoreiCookie{cookie}
+}
+
+func (c *Conn) GlxPixelStoreiChecked(ContextTag GlxContextTag, Pname uint32, Datum int32) GlxPixelStoreiCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxPixelStoreiRequest(ContextTag, Pname, Datum), cookie)
+ return GlxPixelStoreiCookie{cookie}
+}
+
+func (cook GlxPixelStoreiCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxPixelStorei
+func (c *Conn) glxPixelStoreiRequest(ContextTag GlxContextTag, Pname uint32, Datum int32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 110 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ Put32(buf[b:], uint32(Datum))
+ b += 4
+
+ return buf
+}
+
+// Request GlxReadPixels
+// size: 36
+type GlxReadPixelsCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxReadPixels(ContextTag GlxContextTag, X int32, Y int32, Width int32, Height int32, Format uint32, Type uint32, SwapBytes bool, LsbFirst bool) GlxReadPixelsCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxReadPixelsRequest(ContextTag, X, Y, Width, Height, Format, Type, SwapBytes, LsbFirst), cookie)
+ return GlxReadPixelsCookie{cookie}
+}
+
+func (c *Conn) GlxReadPixelsUnchecked(ContextTag GlxContextTag, X int32, Y int32, Width int32, Height int32, Format uint32, Type uint32, SwapBytes bool, LsbFirst bool) GlxReadPixelsCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxReadPixelsRequest(ContextTag, X, Y, Width, Height, Format, Type, SwapBytes, LsbFirst), cookie)
+ return GlxReadPixelsCookie{cookie}
+}
+
+// Request reply for GlxReadPixels
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxReadPixelsReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxReadPixels
+func (cook GlxReadPixelsCookie) Reply() (*GlxReadPixelsReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxReadPixelsReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxReadPixels
+func glxReadPixelsReply(buf []byte) *GlxReadPixelsReply {
+ v := new(GlxReadPixelsReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxReadPixelsCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxReadPixels
+func (c *Conn) glxReadPixelsRequest(ContextTag GlxContextTag, X int32, Y int32, Width int32, Height int32, Format uint32, Type uint32, SwapBytes bool, LsbFirst bool) []byte {
+ size := 36
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 111 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(X))
+ b += 4
+
+ Put32(buf[b:], uint32(Y))
+ b += 4
+
+ Put32(buf[b:], uint32(Width))
+ b += 4
+
+ Put32(buf[b:], uint32(Height))
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ if LsbFirst {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetBooleanv
+// size: 12
+type GlxGetBooleanvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetBooleanv(ContextTag GlxContextTag, Pname int32) GlxGetBooleanvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetBooleanvRequest(ContextTag, Pname), cookie)
+ return GlxGetBooleanvCookie{cookie}
+}
+
+func (c *Conn) GlxGetBooleanvUnchecked(ContextTag GlxContextTag, Pname int32) GlxGetBooleanvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetBooleanvRequest(ContextTag, Pname), cookie)
+ return GlxGetBooleanvCookie{cookie}
+}
+
+// Request reply for GlxGetBooleanv
+// size: (32 + pad((int(N) * 1)))
+type GlxGetBooleanvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum bool
+ // padding: 15 bytes
+ Data []bool // size: pad((int(N) * 1))
+}
+
+// Waits and reads reply data from request GlxGetBooleanv
+func (cook GlxGetBooleanvCookie) Reply() (*GlxGetBooleanvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetBooleanvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetBooleanv
+func glxGetBooleanvReply(buf []byte) *GlxGetBooleanvReply {
+ v := new(GlxGetBooleanvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ if buf[b] == 1 {
+ v.Datum = true
+ } else {
+ v.Datum = false
+ }
+ b += 1
+
+ b += 15 // padding
+
+ v.Data = make([]bool, v.N)
+ for i := 0; i < int(v.N); i++ {
+ if buf[b] == 1 {
+ v.Data[i] = true
+ } else {
+ v.Data[i] = false
+ }
+ b += 1
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetBooleanvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetBooleanv
+func (c *Conn) glxGetBooleanvRequest(ContextTag GlxContextTag, Pname int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 112 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Pname))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetClipPlane
+// size: 12
+type GlxGetClipPlaneCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetClipPlane(ContextTag GlxContextTag, Plane int32) GlxGetClipPlaneCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetClipPlaneRequest(ContextTag, Plane), cookie)
+ return GlxGetClipPlaneCookie{cookie}
+}
+
+func (c *Conn) GlxGetClipPlaneUnchecked(ContextTag GlxContextTag, Plane int32) GlxGetClipPlaneCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetClipPlaneRequest(ContextTag, Plane), cookie)
+ return GlxGetClipPlaneCookie{cookie}
+}
+
+// Request reply for GlxGetClipPlane
+// size: (32 + pad(((int(Length) / 2) * 8)))
+type GlxGetClipPlaneReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []GlxFloat64 // size: pad(((int(Length) / 2) * 8))
+}
+
+// Waits and reads reply data from request GlxGetClipPlane
+func (cook GlxGetClipPlaneCookie) Reply() (*GlxGetClipPlaneReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetClipPlaneReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetClipPlane
+func glxGetClipPlaneReply(buf []byte) *GlxGetClipPlaneReply {
+ v := new(GlxGetClipPlaneReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]GlxFloat64, (int(v.Length) / 2))
+ for i := 0; i < int((int(v.Length) / 2)); i++ {
+ v.Data[i] = GlxFloat64(Get64(buf[b:]))
+ b += 8
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetClipPlaneCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetClipPlane
+func (c *Conn) glxGetClipPlaneRequest(ContextTag GlxContextTag, Plane int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 113 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(Plane))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetDoublev
+// size: 12
+type GlxGetDoublevCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetDoublev(ContextTag GlxContextTag, Pname uint32) GlxGetDoublevCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetDoublevRequest(ContextTag, Pname), cookie)
+ return GlxGetDoublevCookie{cookie}
+}
+
+func (c *Conn) GlxGetDoublevUnchecked(ContextTag GlxContextTag, Pname uint32) GlxGetDoublevCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetDoublevRequest(ContextTag, Pname), cookie)
+ return GlxGetDoublevCookie{cookie}
+}
+
+// Request reply for GlxGetDoublev
+// size: (32 + pad((int(N) * 8)))
+type GlxGetDoublevReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat64
+ // padding: 8 bytes
+ Data []GlxFloat64 // size: pad((int(N) * 8))
+}
+
+// Waits and reads reply data from request GlxGetDoublev
+func (cook GlxGetDoublevCookie) Reply() (*GlxGetDoublevReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetDoublevReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetDoublev
+func glxGetDoublevReply(buf []byte) *GlxGetDoublevReply {
+ v := new(GlxGetDoublevReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat64(Get64(buf[b:]))
+ b += 8
+
+ b += 8 // padding
+
+ v.Data = make([]GlxFloat64, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat64(Get64(buf[b:]))
+ b += 8
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetDoublevCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetDoublev
+func (c *Conn) glxGetDoublevRequest(ContextTag GlxContextTag, Pname uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 114 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetError
+// size: 8
+type GlxGetErrorCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetError(ContextTag GlxContextTag) GlxGetErrorCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetErrorRequest(ContextTag), cookie)
+ return GlxGetErrorCookie{cookie}
+}
+
+func (c *Conn) GlxGetErrorUnchecked(ContextTag GlxContextTag) GlxGetErrorCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetErrorRequest(ContextTag), cookie)
+ return GlxGetErrorCookie{cookie}
+}
+
+// Request reply for GlxGetError
+// size: 12
+type GlxGetErrorReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ Error int32
+}
+
+// Waits and reads reply data from request GlxGetError
+func (cook GlxGetErrorCookie) Reply() (*GlxGetErrorReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetErrorReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetError
+func glxGetErrorReply(buf []byte) *GlxGetErrorReply {
+ v := new(GlxGetErrorReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.Error = int32(Get32(buf[b:]))
+ b += 4
+
+ return v
+}
+
+func (cook GlxGetErrorCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetError
+func (c *Conn) glxGetErrorRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 115 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetFloatv
+// size: 12
+type GlxGetFloatvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetFloatv(ContextTag GlxContextTag, Pname uint32) GlxGetFloatvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetFloatvRequest(ContextTag, Pname), cookie)
+ return GlxGetFloatvCookie{cookie}
+}
+
+func (c *Conn) GlxGetFloatvUnchecked(ContextTag GlxContextTag, Pname uint32) GlxGetFloatvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetFloatvRequest(ContextTag, Pname), cookie)
+ return GlxGetFloatvCookie{cookie}
+}
+
+// Request reply for GlxGetFloatv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetFloatvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetFloatv
+func (cook GlxGetFloatvCookie) Reply() (*GlxGetFloatvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetFloatvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetFloatv
+func glxGetFloatvReply(buf []byte) *GlxGetFloatvReply {
+ v := new(GlxGetFloatvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetFloatvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetFloatv
+func (c *Conn) glxGetFloatvRequest(ContextTag GlxContextTag, Pname uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 116 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetIntegerv
+// size: 12
+type GlxGetIntegervCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetIntegerv(ContextTag GlxContextTag, Pname uint32) GlxGetIntegervCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetIntegervRequest(ContextTag, Pname), cookie)
+ return GlxGetIntegervCookie{cookie}
+}
+
+func (c *Conn) GlxGetIntegervUnchecked(ContextTag GlxContextTag, Pname uint32) GlxGetIntegervCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetIntegervRequest(ContextTag, Pname), cookie)
+ return GlxGetIntegervCookie{cookie}
+}
+
+// Request reply for GlxGetIntegerv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetIntegervReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetIntegerv
+func (cook GlxGetIntegervCookie) Reply() (*GlxGetIntegervReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetIntegervReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetIntegerv
+func glxGetIntegervReply(buf []byte) *GlxGetIntegervReply {
+ v := new(GlxGetIntegervReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetIntegervCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetIntegerv
+func (c *Conn) glxGetIntegervRequest(ContextTag GlxContextTag, Pname uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 117 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetLightfv
+// size: 16
+type GlxGetLightfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetLightfv(ContextTag GlxContextTag, Light uint32, Pname uint32) GlxGetLightfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetLightfvRequest(ContextTag, Light, Pname), cookie)
+ return GlxGetLightfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetLightfvUnchecked(ContextTag GlxContextTag, Light uint32, Pname uint32) GlxGetLightfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetLightfvRequest(ContextTag, Light, Pname), cookie)
+ return GlxGetLightfvCookie{cookie}
+}
+
+// Request reply for GlxGetLightfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetLightfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetLightfv
+func (cook GlxGetLightfvCookie) Reply() (*GlxGetLightfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetLightfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetLightfv
+func glxGetLightfvReply(buf []byte) *GlxGetLightfvReply {
+ v := new(GlxGetLightfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetLightfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetLightfv
+func (c *Conn) glxGetLightfvRequest(ContextTag GlxContextTag, Light uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 118 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Light)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetLightiv
+// size: 16
+type GlxGetLightivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetLightiv(ContextTag GlxContextTag, Light uint32, Pname uint32) GlxGetLightivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetLightivRequest(ContextTag, Light, Pname), cookie)
+ return GlxGetLightivCookie{cookie}
+}
+
+func (c *Conn) GlxGetLightivUnchecked(ContextTag GlxContextTag, Light uint32, Pname uint32) GlxGetLightivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetLightivRequest(ContextTag, Light, Pname), cookie)
+ return GlxGetLightivCookie{cookie}
+}
+
+// Request reply for GlxGetLightiv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetLightivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetLightiv
+func (cook GlxGetLightivCookie) Reply() (*GlxGetLightivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetLightivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetLightiv
+func glxGetLightivReply(buf []byte) *GlxGetLightivReply {
+ v := new(GlxGetLightivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetLightivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetLightiv
+func (c *Conn) glxGetLightivRequest(ContextTag GlxContextTag, Light uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 119 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Light)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMapdv
+// size: 16
+type GlxGetMapdvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMapdv(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapdvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMapdvRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapdvCookie{cookie}
+}
+
+func (c *Conn) GlxGetMapdvUnchecked(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapdvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMapdvRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapdvCookie{cookie}
+}
+
+// Request reply for GlxGetMapdv
+// size: (32 + pad((int(N) * 8)))
+type GlxGetMapdvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat64
+ // padding: 8 bytes
+ Data []GlxFloat64 // size: pad((int(N) * 8))
+}
+
+// Waits and reads reply data from request GlxGetMapdv
+func (cook GlxGetMapdvCookie) Reply() (*GlxGetMapdvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMapdvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMapdv
+func glxGetMapdvReply(buf []byte) *GlxGetMapdvReply {
+ v := new(GlxGetMapdvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat64(Get64(buf[b:]))
+ b += 8
+
+ b += 8 // padding
+
+ v.Data = make([]GlxFloat64, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat64(Get64(buf[b:]))
+ b += 8
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMapdvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMapdv
+func (c *Conn) glxGetMapdvRequest(ContextTag GlxContextTag, Target uint32, Query uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 120 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Query)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMapfv
+// size: 16
+type GlxGetMapfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMapfv(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMapfvRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetMapfvUnchecked(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMapfvRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapfvCookie{cookie}
+}
+
+// Request reply for GlxGetMapfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMapfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMapfv
+func (cook GlxGetMapfvCookie) Reply() (*GlxGetMapfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMapfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMapfv
+func glxGetMapfvReply(buf []byte) *GlxGetMapfvReply {
+ v := new(GlxGetMapfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMapfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMapfv
+func (c *Conn) glxGetMapfvRequest(ContextTag GlxContextTag, Target uint32, Query uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 121 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Query)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMapiv
+// size: 16
+type GlxGetMapivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMapiv(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMapivRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapivCookie{cookie}
+}
+
+func (c *Conn) GlxGetMapivUnchecked(ContextTag GlxContextTag, Target uint32, Query uint32) GlxGetMapivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMapivRequest(ContextTag, Target, Query), cookie)
+ return GlxGetMapivCookie{cookie}
+}
+
+// Request reply for GlxGetMapiv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMapivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMapiv
+func (cook GlxGetMapivCookie) Reply() (*GlxGetMapivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMapivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMapiv
+func glxGetMapivReply(buf []byte) *GlxGetMapivReply {
+ v := new(GlxGetMapivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMapivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMapiv
+func (c *Conn) glxGetMapivRequest(ContextTag GlxContextTag, Target uint32, Query uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 122 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Query)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMaterialfv
+// size: 16
+type GlxGetMaterialfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMaterialfv(ContextTag GlxContextTag, Face uint32, Pname uint32) GlxGetMaterialfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMaterialfvRequest(ContextTag, Face, Pname), cookie)
+ return GlxGetMaterialfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetMaterialfvUnchecked(ContextTag GlxContextTag, Face uint32, Pname uint32) GlxGetMaterialfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMaterialfvRequest(ContextTag, Face, Pname), cookie)
+ return GlxGetMaterialfvCookie{cookie}
+}
+
+// Request reply for GlxGetMaterialfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMaterialfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMaterialfv
+func (cook GlxGetMaterialfvCookie) Reply() (*GlxGetMaterialfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMaterialfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMaterialfv
+func glxGetMaterialfvReply(buf []byte) *GlxGetMaterialfvReply {
+ v := new(GlxGetMaterialfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMaterialfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMaterialfv
+func (c *Conn) glxGetMaterialfvRequest(ContextTag GlxContextTag, Face uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 123 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Face)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMaterialiv
+// size: 16
+type GlxGetMaterialivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMaterialiv(ContextTag GlxContextTag, Face uint32, Pname uint32) GlxGetMaterialivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMaterialivRequest(ContextTag, Face, Pname), cookie)
+ return GlxGetMaterialivCookie{cookie}
+}
+
+func (c *Conn) GlxGetMaterialivUnchecked(ContextTag GlxContextTag, Face uint32, Pname uint32) GlxGetMaterialivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMaterialivRequest(ContextTag, Face, Pname), cookie)
+ return GlxGetMaterialivCookie{cookie}
+}
+
+// Request reply for GlxGetMaterialiv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMaterialivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMaterialiv
+func (cook GlxGetMaterialivCookie) Reply() (*GlxGetMaterialivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMaterialivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMaterialiv
+func glxGetMaterialivReply(buf []byte) *GlxGetMaterialivReply {
+ v := new(GlxGetMaterialivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMaterialivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMaterialiv
+func (c *Conn) glxGetMaterialivRequest(ContextTag GlxContextTag, Face uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 124 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Face)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetPixelMapfv
+// size: 12
+type GlxGetPixelMapfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetPixelMapfv(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetPixelMapfvRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetPixelMapfvUnchecked(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetPixelMapfvRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapfvCookie{cookie}
+}
+
+// Request reply for GlxGetPixelMapfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetPixelMapfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetPixelMapfv
+func (cook GlxGetPixelMapfvCookie) Reply() (*GlxGetPixelMapfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetPixelMapfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetPixelMapfv
+func glxGetPixelMapfvReply(buf []byte) *GlxGetPixelMapfvReply {
+ v := new(GlxGetPixelMapfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetPixelMapfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetPixelMapfv
+func (c *Conn) glxGetPixelMapfvRequest(ContextTag GlxContextTag, Map uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 125 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Map)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetPixelMapuiv
+// size: 12
+type GlxGetPixelMapuivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetPixelMapuiv(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapuivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetPixelMapuivRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapuivCookie{cookie}
+}
+
+func (c *Conn) GlxGetPixelMapuivUnchecked(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapuivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetPixelMapuivRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapuivCookie{cookie}
+}
+
+// Request reply for GlxGetPixelMapuiv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetPixelMapuivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum uint32
+ // padding: 12 bytes
+ Data []uint32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetPixelMapuiv
+func (cook GlxGetPixelMapuivCookie) Reply() (*GlxGetPixelMapuivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetPixelMapuivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetPixelMapuiv
+func glxGetPixelMapuivReply(buf []byte) *GlxGetPixelMapuivReply {
+ v := new(GlxGetPixelMapuivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = Get32(buf[b:])
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]uint32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetPixelMapuivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetPixelMapuiv
+func (c *Conn) glxGetPixelMapuivRequest(ContextTag GlxContextTag, Map uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 126 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Map)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetPixelMapusv
+// size: 12
+type GlxGetPixelMapusvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetPixelMapusv(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapusvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetPixelMapusvRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapusvCookie{cookie}
+}
+
+func (c *Conn) GlxGetPixelMapusvUnchecked(ContextTag GlxContextTag, Map uint32) GlxGetPixelMapusvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetPixelMapusvRequest(ContextTag, Map), cookie)
+ return GlxGetPixelMapusvCookie{cookie}
+}
+
+// Request reply for GlxGetPixelMapusv
+// size: (34 + pad((int(N) * 2)))
+type GlxGetPixelMapusvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum uint16
+ // padding: 16 bytes
+ Data []uint16 // size: pad((int(N) * 2))
+}
+
+// Waits and reads reply data from request GlxGetPixelMapusv
+func (cook GlxGetPixelMapusvCookie) Reply() (*GlxGetPixelMapusvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetPixelMapusvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetPixelMapusv
+func glxGetPixelMapusvReply(buf []byte) *GlxGetPixelMapusvReply {
+ v := new(GlxGetPixelMapusvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = Get16(buf[b:])
+ b += 2
+
+ b += 16 // padding
+
+ v.Data = make([]uint16, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = Get16(buf[b:])
+ b += 2
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetPixelMapusvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetPixelMapusv
+func (c *Conn) glxGetPixelMapusvRequest(ContextTag GlxContextTag, Map uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 127 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Map)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetPolygonStipple
+// size: 12
+type GlxGetPolygonStippleCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetPolygonStipple(ContextTag GlxContextTag, LsbFirst bool) GlxGetPolygonStippleCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetPolygonStippleRequest(ContextTag, LsbFirst), cookie)
+ return GlxGetPolygonStippleCookie{cookie}
+}
+
+func (c *Conn) GlxGetPolygonStippleUnchecked(ContextTag GlxContextTag, LsbFirst bool) GlxGetPolygonStippleCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetPolygonStippleRequest(ContextTag, LsbFirst), cookie)
+ return GlxGetPolygonStippleCookie{cookie}
+}
+
+// Request reply for GlxGetPolygonStipple
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetPolygonStippleReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetPolygonStipple
+func (cook GlxGetPolygonStippleCookie) Reply() (*GlxGetPolygonStippleReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetPolygonStippleReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetPolygonStipple
+func glxGetPolygonStippleReply(buf []byte) *GlxGetPolygonStippleReply {
+ v := new(GlxGetPolygonStippleReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetPolygonStippleCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetPolygonStipple
+func (c *Conn) glxGetPolygonStippleRequest(ContextTag GlxContextTag, LsbFirst bool) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 128 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ if LsbFirst {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetString
+// size: 12
+type GlxGetStringCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetString(ContextTag GlxContextTag, Name uint32) GlxGetStringCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetStringRequest(ContextTag, Name), cookie)
+ return GlxGetStringCookie{cookie}
+}
+
+func (c *Conn) GlxGetStringUnchecked(ContextTag GlxContextTag, Name uint32) GlxGetStringCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetStringRequest(ContextTag, Name), cookie)
+ return GlxGetStringCookie{cookie}
+}
+
+// Request reply for GlxGetString
+// size: (32 + pad((int(N) * 1)))
+type GlxGetStringReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ // padding: 16 bytes
+ String string // size: pad((int(N) * 1))
+}
+
+// Waits and reads reply data from request GlxGetString
+func (cook GlxGetStringCookie) Reply() (*GlxGetStringReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetStringReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetString
+func glxGetStringReply(buf []byte) *GlxGetStringReply {
+ v := new(GlxGetStringReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ b += 16 // padding
+
+ {
+ byteString := make([]byte, v.N)
+ copy(byteString[:v.N], buf[b:])
+ v.String = string(byteString)
+ b += pad(int(v.N))
+ }
+
+ return v
+}
+
+func (cook GlxGetStringCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetString
+func (c *Conn) glxGetStringRequest(ContextTag GlxContextTag, Name uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 129 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Name)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexEnvfv
+// size: 16
+type GlxGetTexEnvfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexEnvfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexEnvfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexEnvfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexEnvfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexEnvfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexEnvfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexEnvfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexEnvfvCookie{cookie}
+}
+
+// Request reply for GlxGetTexEnvfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexEnvfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexEnvfv
+func (cook GlxGetTexEnvfvCookie) Reply() (*GlxGetTexEnvfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexEnvfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexEnvfv
+func glxGetTexEnvfvReply(buf []byte) *GlxGetTexEnvfvReply {
+ v := new(GlxGetTexEnvfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexEnvfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexEnvfv
+func (c *Conn) glxGetTexEnvfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 130 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexEnviv
+// size: 16
+type GlxGetTexEnvivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexEnviv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexEnvivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexEnvivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexEnvivCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexEnvivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexEnvivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexEnvivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexEnvivCookie{cookie}
+}
+
+// Request reply for GlxGetTexEnviv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexEnvivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexEnviv
+func (cook GlxGetTexEnvivCookie) Reply() (*GlxGetTexEnvivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexEnvivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexEnviv
+func glxGetTexEnvivReply(buf []byte) *GlxGetTexEnvivReply {
+ v := new(GlxGetTexEnvivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexEnvivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexEnviv
+func (c *Conn) glxGetTexEnvivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 131 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexGendv
+// size: 16
+type GlxGetTexGendvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexGendv(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGendvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexGendvRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGendvCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexGendvUnchecked(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGendvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexGendvRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGendvCookie{cookie}
+}
+
+// Request reply for GlxGetTexGendv
+// size: (32 + pad((int(N) * 8)))
+type GlxGetTexGendvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat64
+ // padding: 8 bytes
+ Data []GlxFloat64 // size: pad((int(N) * 8))
+}
+
+// Waits and reads reply data from request GlxGetTexGendv
+func (cook GlxGetTexGendvCookie) Reply() (*GlxGetTexGendvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexGendvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexGendv
+func glxGetTexGendvReply(buf []byte) *GlxGetTexGendvReply {
+ v := new(GlxGetTexGendvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat64(Get64(buf[b:]))
+ b += 8
+
+ b += 8 // padding
+
+ v.Data = make([]GlxFloat64, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat64(Get64(buf[b:]))
+ b += 8
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexGendvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexGendv
+func (c *Conn) glxGetTexGendvRequest(ContextTag GlxContextTag, Coord uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 132 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Coord)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexGenfv
+// size: 16
+type GlxGetTexGenfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexGenfv(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGenfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexGenfvRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGenfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexGenfvUnchecked(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGenfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexGenfvRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGenfvCookie{cookie}
+}
+
+// Request reply for GlxGetTexGenfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexGenfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexGenfv
+func (cook GlxGetTexGenfvCookie) Reply() (*GlxGetTexGenfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexGenfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexGenfv
+func glxGetTexGenfvReply(buf []byte) *GlxGetTexGenfvReply {
+ v := new(GlxGetTexGenfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexGenfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexGenfv
+func (c *Conn) glxGetTexGenfvRequest(ContextTag GlxContextTag, Coord uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 133 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Coord)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexGeniv
+// size: 16
+type GlxGetTexGenivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexGeniv(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGenivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexGenivRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGenivCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexGenivUnchecked(ContextTag GlxContextTag, Coord uint32, Pname uint32) GlxGetTexGenivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexGenivRequest(ContextTag, Coord, Pname), cookie)
+ return GlxGetTexGenivCookie{cookie}
+}
+
+// Request reply for GlxGetTexGeniv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexGenivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexGeniv
+func (cook GlxGetTexGenivCookie) Reply() (*GlxGetTexGenivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexGenivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexGeniv
+func glxGetTexGenivReply(buf []byte) *GlxGetTexGenivReply {
+ v := new(GlxGetTexGenivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexGenivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexGeniv
+func (c *Conn) glxGetTexGenivRequest(ContextTag GlxContextTag, Coord uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 134 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Coord)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexImage
+// size: 28
+type GlxGetTexImageCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexImage(ContextTag GlxContextTag, Target uint32, Level int32, Format uint32, Type uint32, SwapBytes bool) GlxGetTexImageCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexImageRequest(ContextTag, Target, Level, Format, Type, SwapBytes), cookie)
+ return GlxGetTexImageCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexImageUnchecked(ContextTag GlxContextTag, Target uint32, Level int32, Format uint32, Type uint32, SwapBytes bool) GlxGetTexImageCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexImageRequest(ContextTag, Target, Level, Format, Type, SwapBytes), cookie)
+ return GlxGetTexImageCookie{cookie}
+}
+
+// Request reply for GlxGetTexImage
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetTexImageReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ Width int32
+ Height int32
+ Depth int32
+ // padding: 4 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetTexImage
+func (cook GlxGetTexImageCookie) Reply() (*GlxGetTexImageReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexImageReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexImage
+func glxGetTexImageReply(buf []byte) *GlxGetTexImageReply {
+ v := new(GlxGetTexImageReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.Width = int32(Get32(buf[b:]))
+ b += 4
+
+ v.Height = int32(Get32(buf[b:]))
+ b += 4
+
+ v.Depth = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 4 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetTexImageCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexImage
+func (c *Conn) glxGetTexImageRequest(ContextTag GlxContextTag, Target uint32, Level int32, Format uint32, Type uint32, SwapBytes bool) []byte {
+ size := 28
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 135 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], uint32(Level))
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetTexParameterfv
+// size: 16
+type GlxGetTexParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexParameterfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetTexParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexParameterfv
+func (cook GlxGetTexParameterfvCookie) Reply() (*GlxGetTexParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexParameterfv
+func glxGetTexParameterfvReply(buf []byte) *GlxGetTexParameterfvReply {
+ v := new(GlxGetTexParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexParameterfv
+func (c *Conn) glxGetTexParameterfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 136 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexParameteriv
+// size: 16
+type GlxGetTexParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexParameteriv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetTexParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetTexParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetTexParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexParameteriv
+func (cook GlxGetTexParameterivCookie) Reply() (*GlxGetTexParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexParameteriv
+func glxGetTexParameterivReply(buf []byte) *GlxGetTexParameterivReply {
+ v := new(GlxGetTexParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexParameteriv
+func (c *Conn) glxGetTexParameterivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 137 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexLevelParameterfv
+// size: 20
+type GlxGetTexLevelParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexLevelParameterfv(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) GlxGetTexLevelParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexLevelParameterfvRequest(ContextTag, Target, Level, Pname), cookie)
+ return GlxGetTexLevelParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexLevelParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) GlxGetTexLevelParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexLevelParameterfvRequest(ContextTag, Target, Level, Pname), cookie)
+ return GlxGetTexLevelParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetTexLevelParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexLevelParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexLevelParameterfv
+func (cook GlxGetTexLevelParameterfvCookie) Reply() (*GlxGetTexLevelParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexLevelParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexLevelParameterfv
+func glxGetTexLevelParameterfvReply(buf []byte) *GlxGetTexLevelParameterfvReply {
+ v := new(GlxGetTexLevelParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexLevelParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexLevelParameterfv
+func (c *Conn) glxGetTexLevelParameterfvRequest(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) []byte {
+ size := 20
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 138 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], uint32(Level))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetTexLevelParameteriv
+// size: 20
+type GlxGetTexLevelParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetTexLevelParameteriv(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) GlxGetTexLevelParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetTexLevelParameterivRequest(ContextTag, Target, Level, Pname), cookie)
+ return GlxGetTexLevelParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetTexLevelParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) GlxGetTexLevelParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetTexLevelParameterivRequest(ContextTag, Target, Level, Pname), cookie)
+ return GlxGetTexLevelParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetTexLevelParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetTexLevelParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetTexLevelParameteriv
+func (cook GlxGetTexLevelParameterivCookie) Reply() (*GlxGetTexLevelParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetTexLevelParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetTexLevelParameteriv
+func glxGetTexLevelParameterivReply(buf []byte) *GlxGetTexLevelParameterivReply {
+ v := new(GlxGetTexLevelParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetTexLevelParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetTexLevelParameteriv
+func (c *Conn) glxGetTexLevelParameterivRequest(ContextTag GlxContextTag, Target uint32, Level int32, Pname uint32) []byte {
+ size := 20
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 139 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], uint32(Level))
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxIsList
+// size: 12
+type GlxIsListCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxIsList(ContextTag GlxContextTag, List uint32) GlxIsListCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxIsListRequest(ContextTag, List), cookie)
+ return GlxIsListCookie{cookie}
+}
+
+func (c *Conn) GlxIsListUnchecked(ContextTag GlxContextTag, List uint32) GlxIsListCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxIsListRequest(ContextTag, List), cookie)
+ return GlxIsListCookie{cookie}
+}
+
+// Request reply for GlxIsList
+// size: 12
+type GlxIsListReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal GlxBool32
+}
+
+// Waits and reads reply data from request GlxIsList
+func (cook GlxIsListCookie) Reply() (*GlxIsListReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxIsListReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxIsList
+func glxIsListReply(buf []byte) *GlxIsListReply {
+ v := new(GlxIsListReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = GlxBool32(Get32(buf[b:]))
+ b += 4
+
+ return v
+}
+
+func (cook GlxIsListCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxIsList
+func (c *Conn) glxIsListRequest(ContextTag GlxContextTag, List uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 141 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], List)
+ b += 4
+
+ return buf
+}
+
+// Request GlxFlush
+// size: 8
+type GlxFlushCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxFlush
+func (c *Conn) GlxFlush(ContextTag GlxContextTag) GlxFlushCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxFlushRequest(ContextTag), cookie)
+ return GlxFlushCookie{cookie}
+}
+
+func (c *Conn) GlxFlushChecked(ContextTag GlxContextTag) GlxFlushCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxFlushRequest(ContextTag), cookie)
+ return GlxFlushCookie{cookie}
+}
+
+func (cook GlxFlushCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxFlush
+func (c *Conn) glxFlushRequest(ContextTag GlxContextTag) []byte {
+ size := 8
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 142 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ return buf
+}
+
+// Request GlxAreTexturesResident
+// size: pad((12 + pad((int(N) * 4))))
+type GlxAreTexturesResidentCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxAreTexturesResident(ContextTag GlxContextTag, N int32, Textures []uint32) GlxAreTexturesResidentCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxAreTexturesResidentRequest(ContextTag, N, Textures), cookie)
+ return GlxAreTexturesResidentCookie{cookie}
+}
+
+func (c *Conn) GlxAreTexturesResidentUnchecked(ContextTag GlxContextTag, N int32, Textures []uint32) GlxAreTexturesResidentCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxAreTexturesResidentRequest(ContextTag, N, Textures), cookie)
+ return GlxAreTexturesResidentCookie{cookie}
+}
+
+// Request reply for GlxAreTexturesResident
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxAreTexturesResidentReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal GlxBool32
+ // padding: 20 bytes
+ Data []bool // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxAreTexturesResident
+func (cook GlxAreTexturesResidentCookie) Reply() (*GlxAreTexturesResidentReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxAreTexturesResidentReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxAreTexturesResident
+func glxAreTexturesResidentReply(buf []byte) *GlxAreTexturesResidentReply {
+ v := new(GlxAreTexturesResidentReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = GlxBool32(Get32(buf[b:]))
+ b += 4
+
+ b += 20 // padding
+
+ v.Data = make([]bool, (int(v.Length) * 4))
+ for i := 0; i < int((int(v.Length) * 4)); i++ {
+ if buf[b] == 1 {
+ v.Data[i] = true
+ } else {
+ v.Data[i] = false
+ }
+ b += 1
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxAreTexturesResidentCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxAreTexturesResident
+func (c *Conn) glxAreTexturesResidentRequest(ContextTag GlxContextTag, N int32, Textures []uint32) []byte {
+ size := pad((12 + pad((int(N) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 143 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(N))
+ b += 4
+
+ for i := 0; i < int(N); i++ {
+ Put32(buf[b:], Textures[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxDeleteTextures
+// size: pad((12 + pad((int(N) * 4))))
+type GlxDeleteTexturesCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDeleteTextures
+func (c *Conn) GlxDeleteTextures(ContextTag GlxContextTag, N int32, Textures []uint32) GlxDeleteTexturesCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDeleteTexturesRequest(ContextTag, N, Textures), cookie)
+ return GlxDeleteTexturesCookie{cookie}
+}
+
+func (c *Conn) GlxDeleteTexturesChecked(ContextTag GlxContextTag, N int32, Textures []uint32) GlxDeleteTexturesCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDeleteTexturesRequest(ContextTag, N, Textures), cookie)
+ return GlxDeleteTexturesCookie{cookie}
+}
+
+func (cook GlxDeleteTexturesCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDeleteTextures
+func (c *Conn) glxDeleteTexturesRequest(ContextTag GlxContextTag, N int32, Textures []uint32) []byte {
+ size := pad((12 + pad((int(N) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 144 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(N))
+ b += 4
+
+ for i := 0; i < int(N); i++ {
+ Put32(buf[b:], Textures[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxGenTextures
+// size: 12
+type GlxGenTexturesCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGenTextures(ContextTag GlxContextTag, N int32) GlxGenTexturesCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGenTexturesRequest(ContextTag, N), cookie)
+ return GlxGenTexturesCookie{cookie}
+}
+
+func (c *Conn) GlxGenTexturesUnchecked(ContextTag GlxContextTag, N int32) GlxGenTexturesCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGenTexturesRequest(ContextTag, N), cookie)
+ return GlxGenTexturesCookie{cookie}
+}
+
+// Request reply for GlxGenTextures
+// size: (32 + pad((int(Length) * 4)))
+type GlxGenTexturesReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []uint32 // size: pad((int(Length) * 4))
+}
+
+// Waits and reads reply data from request GlxGenTextures
+func (cook GlxGenTexturesCookie) Reply() (*GlxGenTexturesReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGenTexturesReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGenTextures
+func glxGenTexturesReply(buf []byte) *GlxGenTexturesReply {
+ v := new(GlxGenTexturesReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.Data[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGenTexturesCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGenTextures
+func (c *Conn) glxGenTexturesRequest(ContextTag GlxContextTag, N int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 145 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(N))
+ b += 4
+
+ return buf
+}
+
+// Request GlxIsTexture
+// size: 12
+type GlxIsTextureCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxIsTexture(ContextTag GlxContextTag, Texture uint32) GlxIsTextureCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxIsTextureRequest(ContextTag, Texture), cookie)
+ return GlxIsTextureCookie{cookie}
+}
+
+func (c *Conn) GlxIsTextureUnchecked(ContextTag GlxContextTag, Texture uint32) GlxIsTextureCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxIsTextureRequest(ContextTag, Texture), cookie)
+ return GlxIsTextureCookie{cookie}
+}
+
+// Request reply for GlxIsTexture
+// size: 12
+type GlxIsTextureReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal GlxBool32
+}
+
+// Waits and reads reply data from request GlxIsTexture
+func (cook GlxIsTextureCookie) Reply() (*GlxIsTextureReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxIsTextureReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxIsTexture
+func glxIsTextureReply(buf []byte) *GlxIsTextureReply {
+ v := new(GlxIsTextureReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = GlxBool32(Get32(buf[b:]))
+ b += 4
+
+ return v
+}
+
+func (cook GlxIsTextureCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxIsTexture
+func (c *Conn) glxIsTextureRequest(ContextTag GlxContextTag, Texture uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 146 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Texture)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetColorTable
+// size: 24
+type GlxGetColorTableCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetColorTable(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetColorTableCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetColorTableRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetColorTableCookie{cookie}
+}
+
+func (c *Conn) GlxGetColorTableUnchecked(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetColorTableCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetColorTableRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetColorTableCookie{cookie}
+}
+
+// Request reply for GlxGetColorTable
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetColorTableReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ Width int32
+ // padding: 12 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetColorTable
+func (cook GlxGetColorTableCookie) Reply() (*GlxGetColorTableReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetColorTableReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetColorTable
+func glxGetColorTableReply(buf []byte) *GlxGetColorTableReply {
+ v := new(GlxGetColorTableReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.Width = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetColorTableCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetColorTable
+func (c *Conn) glxGetColorTableRequest(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 147 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetColorTableParameterfv
+// size: 16
+type GlxGetColorTableParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetColorTableParameterfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetColorTableParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetColorTableParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetColorTableParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetColorTableParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetColorTableParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetColorTableParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetColorTableParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetColorTableParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetColorTableParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetColorTableParameterfv
+func (cook GlxGetColorTableParameterfvCookie) Reply() (*GlxGetColorTableParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetColorTableParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetColorTableParameterfv
+func glxGetColorTableParameterfvReply(buf []byte) *GlxGetColorTableParameterfvReply {
+ v := new(GlxGetColorTableParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetColorTableParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetColorTableParameterfv
+func (c *Conn) glxGetColorTableParameterfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 148 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetColorTableParameteriv
+// size: 16
+type GlxGetColorTableParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetColorTableParameteriv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetColorTableParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetColorTableParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetColorTableParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetColorTableParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetColorTableParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetColorTableParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetColorTableParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetColorTableParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetColorTableParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetColorTableParameteriv
+func (cook GlxGetColorTableParameterivCookie) Reply() (*GlxGetColorTableParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetColorTableParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetColorTableParameteriv
+func glxGetColorTableParameterivReply(buf []byte) *GlxGetColorTableParameterivReply {
+ v := new(GlxGetColorTableParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetColorTableParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetColorTableParameteriv
+func (c *Conn) glxGetColorTableParameterivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 149 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetConvolutionFilter
+// size: 24
+type GlxGetConvolutionFilterCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetConvolutionFilter(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetConvolutionFilterCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetConvolutionFilterRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetConvolutionFilterCookie{cookie}
+}
+
+func (c *Conn) GlxGetConvolutionFilterUnchecked(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetConvolutionFilterCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetConvolutionFilterRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetConvolutionFilterCookie{cookie}
+}
+
+// Request reply for GlxGetConvolutionFilter
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetConvolutionFilterReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ Width int32
+ Height int32
+ // padding: 8 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetConvolutionFilter
+func (cook GlxGetConvolutionFilterCookie) Reply() (*GlxGetConvolutionFilterReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetConvolutionFilterReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetConvolutionFilter
+func glxGetConvolutionFilterReply(buf []byte) *GlxGetConvolutionFilterReply {
+ v := new(GlxGetConvolutionFilterReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.Width = int32(Get32(buf[b:]))
+ b += 4
+
+ v.Height = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 8 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetConvolutionFilterCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetConvolutionFilter
+func (c *Conn) glxGetConvolutionFilterRequest(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 150 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetConvolutionParameterfv
+// size: 16
+type GlxGetConvolutionParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetConvolutionParameterfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetConvolutionParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetConvolutionParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetConvolutionParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetConvolutionParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetConvolutionParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetConvolutionParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetConvolutionParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetConvolutionParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetConvolutionParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetConvolutionParameterfv
+func (cook GlxGetConvolutionParameterfvCookie) Reply() (*GlxGetConvolutionParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetConvolutionParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetConvolutionParameterfv
+func glxGetConvolutionParameterfvReply(buf []byte) *GlxGetConvolutionParameterfvReply {
+ v := new(GlxGetConvolutionParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetConvolutionParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetConvolutionParameterfv
+func (c *Conn) glxGetConvolutionParameterfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 151 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetConvolutionParameteriv
+// size: 16
+type GlxGetConvolutionParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetConvolutionParameteriv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetConvolutionParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetConvolutionParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetConvolutionParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetConvolutionParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetConvolutionParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetConvolutionParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetConvolutionParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetConvolutionParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetConvolutionParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetConvolutionParameteriv
+func (cook GlxGetConvolutionParameterivCookie) Reply() (*GlxGetConvolutionParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetConvolutionParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetConvolutionParameteriv
+func glxGetConvolutionParameterivReply(buf []byte) *GlxGetConvolutionParameterivReply {
+ v := new(GlxGetConvolutionParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetConvolutionParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetConvolutionParameteriv
+func (c *Conn) glxGetConvolutionParameterivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 152 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetSeparableFilter
+// size: 24
+type GlxGetSeparableFilterCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetSeparableFilter(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetSeparableFilterCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetSeparableFilterRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetSeparableFilterCookie{cookie}
+}
+
+func (c *Conn) GlxGetSeparableFilterUnchecked(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) GlxGetSeparableFilterCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetSeparableFilterRequest(ContextTag, Target, Format, Type, SwapBytes), cookie)
+ return GlxGetSeparableFilterCookie{cookie}
+}
+
+// Request reply for GlxGetSeparableFilter
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetSeparableFilterReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ RowW int32
+ ColH int32
+ // padding: 8 bytes
+ RowsAndCols []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetSeparableFilter
+func (cook GlxGetSeparableFilterCookie) Reply() (*GlxGetSeparableFilterReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetSeparableFilterReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetSeparableFilter
+func glxGetSeparableFilterReply(buf []byte) *GlxGetSeparableFilterReply {
+ v := new(GlxGetSeparableFilterReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.RowW = int32(Get32(buf[b:]))
+ b += 4
+
+ v.ColH = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 8 // padding
+
+ v.RowsAndCols = make([]byte, (int(v.Length) * 4))
+ copy(v.RowsAndCols[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetSeparableFilterCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetSeparableFilter
+func (c *Conn) glxGetSeparableFilterRequest(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 153 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetHistogram
+// size: 24
+type GlxGetHistogramCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetHistogram(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) GlxGetHistogramCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetHistogramRequest(ContextTag, Target, Format, Type, SwapBytes, Reset), cookie)
+ return GlxGetHistogramCookie{cookie}
+}
+
+func (c *Conn) GlxGetHistogramUnchecked(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) GlxGetHistogramCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetHistogramRequest(ContextTag, Target, Format, Type, SwapBytes, Reset), cookie)
+ return GlxGetHistogramCookie{cookie}
+}
+
+// Request reply for GlxGetHistogram
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetHistogramReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ Width int32
+ // padding: 12 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetHistogram
+func (cook GlxGetHistogramCookie) Reply() (*GlxGetHistogramReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetHistogramReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetHistogram
+func glxGetHistogramReply(buf []byte) *GlxGetHistogramReply {
+ v := new(GlxGetHistogramReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.Width = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetHistogramCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetHistogram
+func (c *Conn) glxGetHistogramRequest(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 154 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ if Reset {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetHistogramParameterfv
+// size: 16
+type GlxGetHistogramParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetHistogramParameterfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetHistogramParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetHistogramParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetHistogramParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetHistogramParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetHistogramParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetHistogramParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetHistogramParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetHistogramParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetHistogramParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetHistogramParameterfv
+func (cook GlxGetHistogramParameterfvCookie) Reply() (*GlxGetHistogramParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetHistogramParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetHistogramParameterfv
+func glxGetHistogramParameterfvReply(buf []byte) *GlxGetHistogramParameterfvReply {
+ v := new(GlxGetHistogramParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetHistogramParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetHistogramParameterfv
+func (c *Conn) glxGetHistogramParameterfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 155 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetHistogramParameteriv
+// size: 16
+type GlxGetHistogramParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetHistogramParameteriv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetHistogramParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetHistogramParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetHistogramParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetHistogramParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetHistogramParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetHistogramParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetHistogramParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetHistogramParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetHistogramParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetHistogramParameteriv
+func (cook GlxGetHistogramParameterivCookie) Reply() (*GlxGetHistogramParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetHistogramParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetHistogramParameteriv
+func glxGetHistogramParameterivReply(buf []byte) *GlxGetHistogramParameterivReply {
+ v := new(GlxGetHistogramParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetHistogramParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetHistogramParameteriv
+func (c *Conn) glxGetHistogramParameterivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 156 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMinmax
+// size: 24
+type GlxGetMinmaxCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMinmax(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) GlxGetMinmaxCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMinmaxRequest(ContextTag, Target, Format, Type, SwapBytes, Reset), cookie)
+ return GlxGetMinmaxCookie{cookie}
+}
+
+func (c *Conn) GlxGetMinmaxUnchecked(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) GlxGetMinmaxCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMinmaxRequest(ContextTag, Target, Format, Type, SwapBytes, Reset), cookie)
+ return GlxGetMinmaxCookie{cookie}
+}
+
+// Request reply for GlxGetMinmax
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetMinmaxReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetMinmax
+func (cook GlxGetMinmaxCookie) Reply() (*GlxGetMinmaxReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMinmaxReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMinmax
+func glxGetMinmaxReply(buf []byte) *GlxGetMinmaxReply {
+ v := new(GlxGetMinmaxReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetMinmaxCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMinmax
+func (c *Conn) glxGetMinmaxRequest(ContextTag GlxContextTag, Target uint32, Format uint32, Type uint32, SwapBytes bool, Reset bool) []byte {
+ size := 24
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 157 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Format)
+ b += 4
+
+ Put32(buf[b:], Type)
+ b += 4
+
+ if SwapBytes {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ if Reset {
+ buf[b] = 1
+ } else {
+ buf[b] = 0
+ }
+ b += 1
+
+ return buf
+}
+
+// Request GlxGetMinmaxParameterfv
+// size: 16
+type GlxGetMinmaxParameterfvCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMinmaxParameterfv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetMinmaxParameterfvCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMinmaxParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetMinmaxParameterfvCookie{cookie}
+}
+
+func (c *Conn) GlxGetMinmaxParameterfvUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetMinmaxParameterfvCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMinmaxParameterfvRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetMinmaxParameterfvCookie{cookie}
+}
+
+// Request reply for GlxGetMinmaxParameterfv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMinmaxParameterfvReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum GlxFloat32
+ // padding: 12 bytes
+ Data []GlxFloat32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMinmaxParameterfv
+func (cook GlxGetMinmaxParameterfvCookie) Reply() (*GlxGetMinmaxParameterfvReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMinmaxParameterfvReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMinmaxParameterfv
+func glxGetMinmaxParameterfvReply(buf []byte) *GlxGetMinmaxParameterfvReply {
+ v := new(GlxGetMinmaxParameterfvReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = GlxFloat32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]GlxFloat32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = GlxFloat32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMinmaxParameterfvCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMinmaxParameterfv
+func (c *Conn) glxGetMinmaxParameterfvRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 158 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetMinmaxParameteriv
+// size: 16
+type GlxGetMinmaxParameterivCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetMinmaxParameteriv(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetMinmaxParameterivCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetMinmaxParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetMinmaxParameterivCookie{cookie}
+}
+
+func (c *Conn) GlxGetMinmaxParameterivUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetMinmaxParameterivCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetMinmaxParameterivRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetMinmaxParameterivCookie{cookie}
+}
+
+// Request reply for GlxGetMinmaxParameteriv
+// size: (32 + pad((int(N) * 4)))
+type GlxGetMinmaxParameterivReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetMinmaxParameteriv
+func (cook GlxGetMinmaxParameterivCookie) Reply() (*GlxGetMinmaxParameterivReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetMinmaxParameterivReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetMinmaxParameteriv
+func glxGetMinmaxParameterivReply(buf []byte) *GlxGetMinmaxParameterivReply {
+ v := new(GlxGetMinmaxParameterivReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetMinmaxParameterivCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetMinmaxParameteriv
+func (c *Conn) glxGetMinmaxParameterivRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 159 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetCompressedTexImageARB
+// size: 16
+type GlxGetCompressedTexImageARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetCompressedTexImageARB(ContextTag GlxContextTag, Target uint32, Level int32) GlxGetCompressedTexImageARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetCompressedTexImageARBRequest(ContextTag, Target, Level), cookie)
+ return GlxGetCompressedTexImageARBCookie{cookie}
+}
+
+func (c *Conn) GlxGetCompressedTexImageARBUnchecked(ContextTag GlxContextTag, Target uint32, Level int32) GlxGetCompressedTexImageARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetCompressedTexImageARBRequest(ContextTag, Target, Level), cookie)
+ return GlxGetCompressedTexImageARBCookie{cookie}
+}
+
+// Request reply for GlxGetCompressedTexImageARB
+// size: (32 + pad(((int(Length) * 4) * 1)))
+type GlxGetCompressedTexImageARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 8 bytes
+ Size int32
+ // padding: 12 bytes
+ Data []byte // size: pad(((int(Length) * 4) * 1))
+}
+
+// Waits and reads reply data from request GlxGetCompressedTexImageARB
+func (cook GlxGetCompressedTexImageARBCookie) Reply() (*GlxGetCompressedTexImageARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetCompressedTexImageARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetCompressedTexImageARB
+func glxGetCompressedTexImageARBReply(buf []byte) *GlxGetCompressedTexImageARBReply {
+ v := new(GlxGetCompressedTexImageARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 8 // padding
+
+ v.Size = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]byte, (int(v.Length) * 4))
+ copy(v.Data[:(int(v.Length)*4)], buf[b:])
+ b += pad(int((int(v.Length) * 4)))
+
+ return v
+}
+
+func (cook GlxGetCompressedTexImageARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetCompressedTexImageARB
+func (c *Conn) glxGetCompressedTexImageARBRequest(ContextTag GlxContextTag, Target uint32, Level int32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 160 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], uint32(Level))
+ b += 4
+
+ return buf
+}
+
+// Request GlxDeleteQueriesARB
+// size: pad((12 + pad((int(N) * 4))))
+type GlxDeleteQueriesARBCookie struct {
+ *cookie
+}
+
+// Write request to wire for GlxDeleteQueriesARB
+func (c *Conn) GlxDeleteQueriesARB(ContextTag GlxContextTag, N int32, Ids []uint32) GlxDeleteQueriesARBCookie {
+ cookie := c.newCookie(false, false)
+ c.newRequest(c.glxDeleteQueriesARBRequest(ContextTag, N, Ids), cookie)
+ return GlxDeleteQueriesARBCookie{cookie}
+}
+
+func (c *Conn) GlxDeleteQueriesARBChecked(ContextTag GlxContextTag, N int32, Ids []uint32) GlxDeleteQueriesARBCookie {
+ cookie := c.newCookie(true, false)
+ c.newRequest(c.glxDeleteQueriesARBRequest(ContextTag, N, Ids), cookie)
+ return GlxDeleteQueriesARBCookie{cookie}
+}
+
+func (cook GlxDeleteQueriesARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxDeleteQueriesARB
+func (c *Conn) glxDeleteQueriesARBRequest(ContextTag GlxContextTag, N int32, Ids []uint32) []byte {
+ size := pad((12 + pad((int(N) * 4))))
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 161 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(N))
+ b += 4
+
+ for i := 0; i < int(N); i++ {
+ Put32(buf[b:], Ids[i])
+ b += 4
+ }
+ b = pad(b)
+
+ return buf
+}
+
+// Request GlxGenQueriesARB
+// size: 12
+type GlxGenQueriesARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGenQueriesARB(ContextTag GlxContextTag, N int32) GlxGenQueriesARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGenQueriesARBRequest(ContextTag, N), cookie)
+ return GlxGenQueriesARBCookie{cookie}
+}
+
+func (c *Conn) GlxGenQueriesARBUnchecked(ContextTag GlxContextTag, N int32) GlxGenQueriesARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGenQueriesARBRequest(ContextTag, N), cookie)
+ return GlxGenQueriesARBCookie{cookie}
+}
+
+// Request reply for GlxGenQueriesARB
+// size: (32 + pad((int(Length) * 4)))
+type GlxGenQueriesARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 24 bytes
+ Data []uint32 // size: pad((int(Length) * 4))
+}
+
+// Waits and reads reply data from request GlxGenQueriesARB
+func (cook GlxGenQueriesARBCookie) Reply() (*GlxGenQueriesARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGenQueriesARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGenQueriesARB
+func glxGenQueriesARBReply(buf []byte) *GlxGenQueriesARBReply {
+ v := new(GlxGenQueriesARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 24 // padding
+
+ v.Data = make([]uint32, v.Length)
+ for i := 0; i < int(v.Length); i++ {
+ v.Data[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGenQueriesARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGenQueriesARB
+func (c *Conn) glxGenQueriesARBRequest(ContextTag GlxContextTag, N int32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 162 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], uint32(N))
+ b += 4
+
+ return buf
+}
+
+// Request GlxIsQueryARB
+// size: 12
+type GlxIsQueryARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxIsQueryARB(ContextTag GlxContextTag, Id uint32) GlxIsQueryARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxIsQueryARBRequest(ContextTag, Id), cookie)
+ return GlxIsQueryARBCookie{cookie}
+}
+
+func (c *Conn) GlxIsQueryARBUnchecked(ContextTag GlxContextTag, Id uint32) GlxIsQueryARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxIsQueryARBRequest(ContextTag, Id), cookie)
+ return GlxIsQueryARBCookie{cookie}
+}
+
+// Request reply for GlxIsQueryARB
+// size: 12
+type GlxIsQueryARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ RetVal GlxBool32
+}
+
+// Waits and reads reply data from request GlxIsQueryARB
+func (cook GlxIsQueryARBCookie) Reply() (*GlxIsQueryARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxIsQueryARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxIsQueryARB
+func glxIsQueryARBReply(buf []byte) *GlxIsQueryARBReply {
+ v := new(GlxIsQueryARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ v.RetVal = GlxBool32(Get32(buf[b:]))
+ b += 4
+
+ return v
+}
+
+func (cook GlxIsQueryARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxIsQueryARB
+func (c *Conn) glxIsQueryARBRequest(ContextTag GlxContextTag, Id uint32) []byte {
+ size := 12
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 163 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Id)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetQueryivARB
+// size: 16
+type GlxGetQueryivARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetQueryivARB(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetQueryivARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetQueryivARBRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetQueryivARBCookie{cookie}
+}
+
+func (c *Conn) GlxGetQueryivARBUnchecked(ContextTag GlxContextTag, Target uint32, Pname uint32) GlxGetQueryivARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetQueryivARBRequest(ContextTag, Target, Pname), cookie)
+ return GlxGetQueryivARBCookie{cookie}
+}
+
+// Request reply for GlxGetQueryivARB
+// size: (32 + pad((int(N) * 4)))
+type GlxGetQueryivARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetQueryivARB
+func (cook GlxGetQueryivARBCookie) Reply() (*GlxGetQueryivARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetQueryivARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetQueryivARB
+func glxGetQueryivARBReply(buf []byte) *GlxGetQueryivARBReply {
+ v := new(GlxGetQueryivARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetQueryivARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetQueryivARB
+func (c *Conn) glxGetQueryivARBRequest(ContextTag GlxContextTag, Target uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 164 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Target)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetQueryObjectivARB
+// size: 16
+type GlxGetQueryObjectivARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetQueryObjectivARB(ContextTag GlxContextTag, Id uint32, Pname uint32) GlxGetQueryObjectivARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetQueryObjectivARBRequest(ContextTag, Id, Pname), cookie)
+ return GlxGetQueryObjectivARBCookie{cookie}
+}
+
+func (c *Conn) GlxGetQueryObjectivARBUnchecked(ContextTag GlxContextTag, Id uint32, Pname uint32) GlxGetQueryObjectivARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetQueryObjectivARBRequest(ContextTag, Id, Pname), cookie)
+ return GlxGetQueryObjectivARBCookie{cookie}
+}
+
+// Request reply for GlxGetQueryObjectivARB
+// size: (32 + pad((int(N) * 4)))
+type GlxGetQueryObjectivARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum int32
+ // padding: 12 bytes
+ Data []int32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetQueryObjectivARB
+func (cook GlxGetQueryObjectivARBCookie) Reply() (*GlxGetQueryObjectivARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetQueryObjectivARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetQueryObjectivARB
+func glxGetQueryObjectivARBReply(buf []byte) *GlxGetQueryObjectivARBReply {
+ v := new(GlxGetQueryObjectivARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = int32(Get32(buf[b:]))
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]int32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = int32(Get32(buf[b:]))
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetQueryObjectivARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetQueryObjectivARB
+func (c *Conn) glxGetQueryObjectivARBRequest(ContextTag GlxContextTag, Id uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 165 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Id)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}
+
+// Request GlxGetQueryObjectuivARB
+// size: 16
+type GlxGetQueryObjectuivARBCookie struct {
+ *cookie
+}
+
+func (c *Conn) GlxGetQueryObjectuivARB(ContextTag GlxContextTag, Id uint32, Pname uint32) GlxGetQueryObjectuivARBCookie {
+ cookie := c.newCookie(true, true)
+ c.newRequest(c.glxGetQueryObjectuivARBRequest(ContextTag, Id, Pname), cookie)
+ return GlxGetQueryObjectuivARBCookie{cookie}
+}
+
+func (c *Conn) GlxGetQueryObjectuivARBUnchecked(ContextTag GlxContextTag, Id uint32, Pname uint32) GlxGetQueryObjectuivARBCookie {
+ cookie := c.newCookie(false, true)
+ c.newRequest(c.glxGetQueryObjectuivARBRequest(ContextTag, Id, Pname), cookie)
+ return GlxGetQueryObjectuivARBCookie{cookie}
+}
+
+// Request reply for GlxGetQueryObjectuivARB
+// size: (32 + pad((int(N) * 4)))
+type GlxGetQueryObjectuivARBReply struct {
+ Sequence uint16
+ Length uint32
+ // padding: 1 bytes
+ // padding: 4 bytes
+ N uint32
+ Datum uint32
+ // padding: 12 bytes
+ Data []uint32 // size: pad((int(N) * 4))
+}
+
+// Waits and reads reply data from request GlxGetQueryObjectuivARB
+func (cook GlxGetQueryObjectuivARBCookie) Reply() (*GlxGetQueryObjectuivARBReply, error) {
+ buf, err := cook.reply()
+ if err != nil {
+ return nil, err
+ }
+ if buf == nil {
+ return nil, nil
+ }
+ return glxGetQueryObjectuivARBReply(buf), nil
+}
+
+// Read reply into structure from buffer for GlxGetQueryObjectuivARB
+func glxGetQueryObjectuivARBReply(buf []byte) *GlxGetQueryObjectuivARBReply {
+ v := new(GlxGetQueryObjectuivARBReply)
+ b := 1 // skip reply determinant
+
+ b += 1 // padding
+
+ v.Sequence = Get16(buf[b:])
+ b += 2
+
+ v.Length = Get32(buf[b:]) // 4-byte units
+ b += 4
+
+ b += 4 // padding
+
+ v.N = Get32(buf[b:])
+ b += 4
+
+ v.Datum = Get32(buf[b:])
+ b += 4
+
+ b += 12 // padding
+
+ v.Data = make([]uint32, v.N)
+ for i := 0; i < int(v.N); i++ {
+ v.Data[i] = Get32(buf[b:])
+ b += 4
+ }
+ b = pad(b)
+
+ return v
+}
+
+func (cook GlxGetQueryObjectuivARBCookie) Check() error {
+ return cook.check()
+}
+
+// Write request to wire for GlxGetQueryObjectuivARB
+func (c *Conn) glxGetQueryObjectuivARBRequest(ContextTag GlxContextTag, Id uint32, Pname uint32) []byte {
+ size := 16
+ b := 0
+ buf := make([]byte, size)
+
+ buf[b] = c.extensions["GLX"]
+ b += 1
+
+ buf[b] = 166 // request opcode
+ b += 1
+
+ Put16(buf[b:], uint16(size/4)) // write request size in 4-byte units
+ b += 2
+
+ Put32(buf[b:], uint32(ContextTag))
+ b += 4
+
+ Put32(buf[b:], Id)
+ b += 4
+
+ Put32(buf[b:], Pname)
+ b += 4
+
+ return buf
+}