github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/X11/extensions/dri2proto.h (about) 1 /* 2 * Copyright © 2008 Red Hat, Inc. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a 5 * copy of this software and associated documentation files (the "Soft- 6 * ware"), to deal in the Software without restriction, including without 7 * limitation the rights to use, copy, modify, merge, publish, distribute, 8 * and/or sell copies of the Software, and to permit persons to whom the 9 * Software is furnished to do so, provided that the above copyright 10 * notice(s) and this permission notice appear in all copies of the Soft- 11 * ware and that both the above copyright notice(s) and this permission 12 * notice appear in supporting documentation. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 16 * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY 17 * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN 18 * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- 19 * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- 22 * MANCE OF THIS SOFTWARE. 23 * 24 * Except as contained in this notice, the name of a copyright holder shall 25 * not be used in advertising or otherwise to promote the sale, use or 26 * other dealings in this Software without prior written authorization of 27 * the copyright holder. 28 * 29 * Authors: 30 * Kristian Høgsberg (krh@redhat.com) 31 */ 32 33 #ifndef _DRI2_PROTO_H_ 34 #define _DRI2_PROTO_H_ 35 36 #define DRI2_NAME "DRI2" 37 #define DRI2_MAJOR 1 38 #define DRI2_MINOR 4 39 40 #define DRI2NumberErrors 0 41 #define DRI2NumberEvents 2 42 #define DRI2NumberRequests 14 43 44 #define X_DRI2QueryVersion 0 45 #define X_DRI2Connect 1 46 #define X_DRI2Authenticate 2 47 #define X_DRI2CreateDrawable 3 48 #define X_DRI2DestroyDrawable 4 49 #define X_DRI2GetBuffers 5 50 #define X_DRI2CopyRegion 6 51 #define X_DRI2GetBuffersWithFormat 7 52 #define X_DRI2SwapBuffers 8 53 #define X_DRI2GetMSC 9 54 #define X_DRI2WaitMSC 10 55 #define X_DRI2WaitSBC 11 56 #define X_DRI2SwapInterval 12 57 #define X_DRI2GetParam 13 58 59 /* 60 * Events 61 */ 62 #define DRI2_BufferSwapComplete 0 63 #define DRI2_InvalidateBuffers 1 64 65 typedef struct { 66 CARD32 attachment; 67 CARD32 name; 68 CARD32 pitch; 69 CARD32 cpp; 70 CARD32 flags; 71 } xDRI2Buffer; 72 73 typedef struct { 74 CARD8 reqType; 75 CARD8 dri2ReqType; 76 CARD16 length; 77 CARD32 majorVersion; 78 CARD32 minorVersion; 79 } xDRI2QueryVersionReq; 80 #define sz_xDRI2QueryVersionReq 12 81 82 typedef struct { 83 BYTE type; /* X_Reply */ 84 BYTE pad1; 85 CARD16 sequenceNumber; 86 CARD32 length; 87 CARD32 majorVersion; 88 CARD32 minorVersion; 89 CARD32 pad2; 90 CARD32 pad3; 91 CARD32 pad4; 92 CARD32 pad5; 93 } xDRI2QueryVersionReply; 94 #define sz_xDRI2QueryVersionReply 32 95 96 typedef struct { 97 CARD8 reqType; 98 CARD8 dri2ReqType; 99 CARD16 length; 100 CARD32 window; 101 CARD32 driverType; 102 } xDRI2ConnectReq; 103 #define sz_xDRI2ConnectReq 12 104 105 typedef struct { 106 BYTE type; /* X_Reply */ 107 BYTE pad1; 108 CARD16 sequenceNumber; 109 CARD32 length; 110 CARD32 driverNameLength; 111 CARD32 deviceNameLength; 112 CARD32 pad2; 113 CARD32 pad3; 114 CARD32 pad4; 115 CARD32 pad5; 116 } xDRI2ConnectReply; 117 #define sz_xDRI2ConnectReply 32 118 119 typedef struct { 120 CARD8 reqType; 121 CARD8 dri2ReqType; 122 CARD16 length; 123 CARD32 window; 124 CARD32 magic; 125 } xDRI2AuthenticateReq; 126 #define sz_xDRI2AuthenticateReq 12 127 128 typedef struct { 129 BYTE type; /* X_Reply */ 130 BYTE pad1; 131 CARD16 sequenceNumber; 132 CARD32 length; 133 CARD32 authenticated; 134 CARD32 pad2; 135 CARD32 pad3; 136 CARD32 pad4; 137 CARD32 pad5; 138 CARD32 pad6; 139 } xDRI2AuthenticateReply; 140 #define sz_xDRI2AuthenticateReply 32 141 142 typedef struct { 143 CARD8 reqType; 144 CARD8 dri2ReqType; 145 CARD16 length; 146 CARD32 drawable; 147 } xDRI2CreateDrawableReq; 148 #define sz_xDRI2CreateDrawableReq 8 149 150 typedef struct { 151 CARD8 reqType; 152 CARD8 dri2ReqType; 153 CARD16 length; 154 CARD32 drawable; 155 } xDRI2DestroyDrawableReq; 156 #define sz_xDRI2DestroyDrawableReq 8 157 158 typedef struct { 159 CARD8 reqType; 160 CARD8 dri2ReqType; 161 CARD16 length; 162 CARD32 drawable; 163 CARD32 count; 164 } xDRI2GetBuffersReq; 165 #define sz_xDRI2GetBuffersReq 12 166 167 typedef struct { 168 BYTE type; /* X_Reply */ 169 BYTE pad1; 170 CARD16 sequenceNumber; 171 CARD32 length; 172 CARD32 width; 173 CARD32 height; 174 CARD32 count; 175 CARD32 pad2; 176 CARD32 pad3; 177 CARD32 pad4; 178 } xDRI2GetBuffersReply; 179 #define sz_xDRI2GetBuffersReply 32 180 181 typedef struct { 182 CARD8 reqType; 183 CARD8 dri2ReqType; 184 CARD16 length; 185 CARD32 drawable; 186 CARD32 region; 187 CARD32 dest; 188 CARD32 src; 189 } xDRI2CopyRegionReq; 190 #define sz_xDRI2CopyRegionReq 20 191 192 typedef struct { 193 BYTE type; /* X_Reply */ 194 BYTE pad1; 195 CARD16 sequenceNumber; 196 CARD32 length; 197 CARD32 pad2; 198 CARD32 pad3; 199 CARD32 pad4; 200 CARD32 pad5; 201 CARD32 pad6; 202 CARD32 pad7; 203 } xDRI2CopyRegionReply; 204 #define sz_xDRI2CopyRegionReply 32 205 206 typedef struct { 207 CARD8 reqType; 208 CARD8 dri2ReqType; 209 CARD16 length; 210 CARD32 drawable; 211 CARD32 target_msc_hi; 212 CARD32 target_msc_lo; 213 CARD32 divisor_hi; 214 CARD32 divisor_lo; 215 CARD32 remainder_hi; 216 CARD32 remainder_lo; 217 } xDRI2SwapBuffersReq; 218 #define sz_xDRI2SwapBuffersReq 32 219 220 typedef struct { 221 BYTE type; /* X_Reply */ 222 BYTE pad1; 223 CARD16 sequenceNumber; 224 CARD32 length; 225 CARD32 swap_hi; 226 CARD32 swap_lo; 227 CARD32 pad2; 228 CARD32 pad3; 229 CARD32 pad4; 230 CARD32 pad5; 231 } xDRI2SwapBuffersReply; 232 #define sz_xDRI2SwapBuffersReply 32 233 234 typedef struct { 235 CARD8 reqType; 236 CARD8 dri2ReqType; 237 CARD16 length; 238 CARD32 drawable; 239 } xDRI2GetMSCReq; 240 #define sz_xDRI2GetMSCReq 8 241 242 typedef struct { 243 CARD8 reqType; 244 CARD8 dri2ReqType; 245 CARD16 length; 246 CARD32 drawable; 247 CARD32 target_msc_hi; 248 CARD32 target_msc_lo; 249 CARD32 divisor_hi; 250 CARD32 divisor_lo; 251 CARD32 remainder_hi; 252 CARD32 remainder_lo; 253 } xDRI2WaitMSCReq; 254 #define sz_xDRI2WaitMSCReq 32 255 256 typedef struct { 257 CARD8 reqType; 258 CARD8 dri2ReqType; 259 CARD16 length; 260 CARD32 drawable; 261 CARD32 target_sbc_hi; 262 CARD32 target_sbc_lo; 263 } xDRI2WaitSBCReq; 264 #define sz_xDRI2WaitSBCReq 16 265 266 typedef struct { 267 CARD8 type; 268 CARD8 pad1; 269 CARD16 sequenceNumber; 270 CARD32 length; 271 CARD32 ust_hi; 272 CARD32 ust_lo; 273 CARD32 msc_hi; 274 CARD32 msc_lo; 275 CARD32 sbc_hi; 276 CARD32 sbc_lo; 277 } xDRI2MSCReply; 278 #define sz_xDRI2MSCReply 32 279 280 typedef struct { 281 CARD8 reqType; 282 CARD8 dri2ReqType; 283 CARD16 length; 284 CARD32 drawable; 285 CARD32 interval; 286 } xDRI2SwapIntervalReq; 287 #define sz_xDRI2SwapIntervalReq 12 288 289 typedef struct { 290 CARD8 type; 291 CARD8 pad; 292 CARD16 sequenceNumber; 293 CARD16 event_type; 294 CARD16 pad2; 295 CARD32 drawable; 296 CARD32 ust_hi; 297 CARD32 ust_lo; 298 CARD32 msc_hi; 299 CARD32 msc_lo; 300 CARD32 sbc_hi; 301 CARD32 sbc_lo; 302 } xDRI2BufferSwapComplete; 303 #define sz_xDRI2BufferSwapComplete 32 304 305 typedef struct { 306 CARD8 type; 307 CARD8 pad; 308 CARD16 sequenceNumber; 309 CARD16 event_type; 310 CARD16 pad2; 311 CARD32 drawable; 312 CARD32 ust_hi; 313 CARD32 ust_lo; 314 CARD32 msc_hi; 315 CARD32 msc_lo; 316 CARD32 sbc; 317 } xDRI2BufferSwapComplete2; 318 #define sz_xDRI2BufferSwapComplete2 32 319 320 typedef struct { 321 CARD8 type; 322 CARD8 pad; 323 CARD16 sequenceNumber; 324 CARD32 drawable; 325 CARD32 pad1; 326 CARD32 pad2; 327 CARD32 pad3; 328 CARD32 pad4; 329 CARD32 pad5; 330 CARD32 pad6; 331 } xDRI2InvalidateBuffers; 332 #define sz_xDRI2InvalidateBuffers 32 333 334 typedef struct { 335 CARD8 reqType; 336 CARD8 dri2ReqType; 337 CARD16 length; 338 CARD32 drawable; 339 CARD32 param; 340 } xDRI2GetParamReq; 341 #define sz_xDRI2GetParamReq 12 342 343 typedef struct { 344 BYTE type; /*X_Reply*/ 345 BOOL is_param_recognized; 346 CARD16 sequenceNumber; 347 CARD32 length; 348 CARD32 value_hi; 349 CARD32 value_lo; 350 CARD32 pad1; 351 CARD32 pad2; 352 CARD32 pad3; 353 CARD32 pad4; 354 } xDRI2GetParamReply; 355 #define sz_xDRI2GetParamReply 32 356 357 #endif