zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
dri_interface.h File Reference
#include <drm.h>

Go to the source code of this file.

Classes

struct  __DRI2configQueryExtensionRec
 
struct  __DRI2flushExtensionRec
 
struct  __DRIbufferRec
 
struct  __DRIcopySubBufferExtensionRec
 
struct  __DRIcoreExtensionRec
 
struct  __DRIdamageExtensionRec
 
struct  __DRIdri2ExtensionRec
 
struct  __DRIdri2LoaderExtensionRec
 
struct  __DRIextensionRec
 
struct  __DRIframebufferRec
 
struct  __DRIframeTrackingExtensionRec
 
struct  __DRIgetDrawableInfoExtensionRec
 
struct  __DRIimageExtensionRec
 
struct  __DRIimageLookupExtensionRec
 
struct  __DRIlegacyExtensionRec
 
struct  __DRImediaStreamCounterExtensionRec
 
struct  __DRIswapControlExtensionRec
 
struct  __DRIswrastExtensionRec
 
struct  __DRIswrastLoaderExtensionRec
 
struct  __DRIsystemTimeExtensionRec
 
struct  __DRItexBufferExtensionRec
 
struct  __DRItexOffsetExtensionRec
 
struct  __DRIuseInvalidateExtensionRec
 
struct  __DRIversionRec
 

Macros

#define __DRI2_CONFIG_QUERY   "DRI_CONFIG_QUERY"
 
#define __DRI2_CONFIG_QUERY_VERSION   1
 
#define __DRI2_FLUSH   "DRI2_Flush"
 
#define __DRI2_FLUSH_VERSION   3
 
#define __DRI_API_GLES   1
 
#define __DRI_API_GLES2   2
 
#define __DRI_API_OPENGL   0
 
#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE   14
 
#define __DRI_ATTRIB_ACCUM_BLUE_SIZE   13
 
#define __DRI_ATTRIB_ACCUM_GREEN_SIZE   12
 
#define __DRI_ATTRIB_ACCUM_RED_SIZE   11
 
#define __DRI_ATTRIB_ALPHA_MASK   33
 
#define __DRI_ATTRIB_ALPHA_MASK_SIZE   8
 
#define __DRI_ATTRIB_ALPHA_SIZE   7
 
#define __DRI_ATTRIB_AUX_BUFFERS   22
 
#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE   45
 
#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB   43
 
#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA   44
 
#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS   46
 
#define __DRI_ATTRIB_BLUE_MASK   32
 
#define __DRI_ATTRIB_BLUE_SIZE   5
 
#define __DRI_ATTRIB_BUFFER_SIZE   1
 
#define __DRI_ATTRIB_COLOR_INDEX_BIT   0x02
 
#define __DRI_ATTRIB_CONFIG_CAVEAT   18
 
#define __DRI_ATTRIB_CONFORMANT   19
 
#define __DRI_ATTRIB_DEPTH_SIZE   9
 
#define __DRI_ATTRIB_DOUBLE_BUFFER   20
 
#define __DRI_ATTRIB_FLOAT_MODE   29
 
#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE   48
 
#define __DRI_ATTRIB_GREEN_MASK   31
 
#define __DRI_ATTRIB_GREEN_SIZE   4
 
#define __DRI_ATTRIB_LEVEL   2
 
#define __DRI_ATTRIB_LUMINANCE_BIT   0x04
 
#define __DRI_ATTRIB_LUMINANCE_SIZE   6
 
#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT   35
 
#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS   36
 
#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH   34
 
#define __DRI_ATTRIB_MAX_SWAP_INTERVAL   41
 
#define __DRI_ATTRIB_MIN_SWAP_INTERVAL   42
 
#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG   0x02
 
#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT   38
 
#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH   37
 
#define __DRI_ATTRIB_RED_MASK   30
 
#define __DRI_ATTRIB_RED_SIZE   3
 
#define __DRI_ATTRIB_RENDER_TYPE   17
 
#define __DRI_ATTRIB_RGBA_BIT   0x01
 
#define __DRI_ATTRIB_SAMPLE_BUFFERS   15
 
#define __DRI_ATTRIB_SAMPLES   16
 
#define __DRI_ATTRIB_SLOW_BIT   0x01
 
#define __DRI_ATTRIB_STENCIL_SIZE   10
 
#define __DRI_ATTRIB_STEREO   21
 
#define __DRI_ATTRIB_SWAP_METHOD   40
 
#define __DRI_ATTRIB_TEXTURE_1D_BIT   0x01
 
#define __DRI_ATTRIB_TEXTURE_2D_BIT   0x02
 
#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT   0x04
 
#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE   28
 
#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE   27
 
#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE   26
 
#define __DRI_ATTRIB_TRANSPARENT_INDEX   0x01
 
#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE   24
 
#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE   25
 
#define __DRI_ATTRIB_TRANSPARENT_RGB   0x00
 
#define __DRI_ATTRIB_TRANSPARENT_TYPE   23
 
#define __DRI_ATTRIB_VISUAL_SELECT_GROUP   39
 
#define __DRI_ATTRIB_YINVERTED   47
 
#define __DRI_BUFFER_ACCUM   6
 
#define __DRI_BUFFER_BACK_LEFT   1
 
#define __DRI_BUFFER_BACK_RIGHT   3
 
#define __DRI_BUFFER_DEPTH   4
 
#define __DRI_BUFFER_DEPTH_STENCIL   9
 
#define __DRI_BUFFER_FAKE_FRONT_LEFT   7
 
#define __DRI_BUFFER_FAKE_FRONT_RIGHT   8
 
#define __DRI_BUFFER_FRONT_LEFT   0
 
#define __DRI_BUFFER_FRONT_RIGHT   2
 
#define __DRI_BUFFER_HIZ   10
 
#define __DRI_BUFFER_STENCIL   5
 
#define __DRI_COPY_SUB_BUFFER   "DRI_CopySubBuffer"
 
#define __DRI_COPY_SUB_BUFFER_VERSION   1
 
#define __DRI_CORE   "DRI_Core"
 
#define __DRI_CORE_VERSION   1
 
#define __DRI_DAMAGE   "DRI_Damage"
 
#define __DRI_DAMAGE_VERSION   1
 
#define __DRI_DRI2   "DRI_DRI2"
 
#define __DRI_DRI2_LOADER   "DRI_DRI2Loader"
 
#define __DRI_DRI2_LOADER_VERSION   3
 
#define __DRI_DRI2_VERSION   2
 
#define __DRI_DRIVER_EXTENSIONS   "__driDriverExtensions"
 
#define __DRI_FRAME_TRACKING   "DRI_FrameTracking"
 
#define __DRI_FRAME_TRACKING_VERSION   1
 
#define __DRI_GET_DRAWABLE_INFO   "DRI_GetDrawableInfo"
 
#define __DRI_GET_DRAWABLE_INFO_VERSION   1
 
#define __DRI_IMAGE   "DRI_IMAGE"
 
#define __DRI_IMAGE_ATTRIB_HANDLE   0x2001
 
#define __DRI_IMAGE_ATTRIB_NAME   0x2002
 
#define __DRI_IMAGE_ATTRIB_STRIDE   0x2000
 
#define __DRI_IMAGE_FORMAT_ARGB8888   0x1003
 
#define __DRI_IMAGE_FORMAT_RGB565   0x1001
 
#define __DRI_IMAGE_FORMAT_XRGB8888   0x1002
 
#define __DRI_IMAGE_LOOKUP   "DRI_IMAGE_LOOKUP"
 
#define __DRI_IMAGE_LOOKUP_VERSION   1
 
#define __DRI_IMAGE_USE_CURSOR   0x0004
 
#define __DRI_IMAGE_USE_SCANOUT   0x0002
 
#define __DRI_IMAGE_USE_SHARE   0x0001
 
#define __DRI_IMAGE_VERSION   1
 
#define __DRI_LEGACY   "DRI_Legacy"
 
#define __DRI_LEGACY_VERSION   1
 
#define __DRI_MEDIA_STREAM_COUNTER   "DRI_MediaStreamCounter"
 
#define __DRI_MEDIA_STREAM_COUNTER_VERSION   1
 
#define __DRI_READ_DRAWABLE   "DRI_ReadDrawable"
 
#define __DRI_READ_DRAWABLE_VERSION   1
 
#define __DRI_SWAP_CONTROL   "DRI_SwapControl"
 
#define __DRI_SWAP_CONTROL_VERSION   1
 
#define __DRI_SWRAST   "DRI_SWRast"
 
#define __DRI_SWRAST_IMAGE_OP_CLEAR   2
 
#define __DRI_SWRAST_IMAGE_OP_DRAW   1
 
#define __DRI_SWRAST_IMAGE_OP_SWAP   3
 
#define __DRI_SWRAST_LOADER   "DRI_SWRastLoader"
 
#define __DRI_SWRAST_LOADER_VERSION   1
 
#define __DRI_SWRAST_VERSION   2
 
#define __DRI_SYSTEM_TIME   "DRI_SystemTime"
 
#define __DRI_SYSTEM_TIME_VERSION   1
 
#define __DRI_TEX_BUFFER   "DRI_TexBuffer"
 
#define __DRI_TEX_BUFFER_VERSION   2
 
#define __DRI_TEX_OFFSET   "DRI_TexOffset"
 
#define __DRI_TEX_OFFSET_VERSION   1
 
#define __DRI_TEXTURE_FORMAT_NONE   0x20D8
 
#define __DRI_TEXTURE_FORMAT_RGB   0x20D9
 
#define __DRI_TEXTURE_FORMAT_RGBA   0x20DA
 
#define __DRI_USE_INVALIDATE   "DRI_UseInvalidate"
 
#define __DRI_USE_INVALIDATE_VERSION   1
 

Typedefs

typedef struct
__DRI2configQueryExtensionRec 
__DRI2configQueryExtension
 
typedef struct
__DRIdamageExtensionRec 
__DRIdamageExtension
 
typedef struct
__DRIgetDrawableInfoExtensionRec 
__DRIgetDrawableInfoExtension
 
typedef struct __DRIimageRec __DRIimage
 
typedef struct
__DRIimageExtensionRec 
__DRIimageExtension
 
typedef struct
__DRIimageLookupExtensionRec 
__DRIimageLookupExtension
 
typedef struct
__DRIloaderExtensionRec 
__DRIloaderExtension
 
typedef struct
__DRIswrastLoaderExtensionRec 
__DRIswrastLoaderExtension
 
typedef struct
__DRIsystemTimeExtensionRec 
__DRIsystemTimeExtension
 
typedef struct
__DRIuseInvalidateExtensionRec 
__DRIuseInvalidateExtension
 
DRI interface structures

The following structures define the interface between the GLX client side library and the DRI (direct rendering infrastructure).

typedef struct __DRIdisplayRec __DRIdisplay
 
typedef struct __DRIscreenRec __DRIscreen
 
typedef struct __DRIcontextRec __DRIcontext
 
typedef struct __DRIdrawableRec __DRIdrawable
 
typedef struct __DRIconfigRec __DRIconfig
 
typedef struct __DRIframebufferRec __DRIframebuffer
 
typedef struct __DRIversionRec __DRIversion
 
typedef struct
__DRIcoreExtensionRec 
__DRIcoreExtension
 
typedef struct __DRIextensionRec __DRIextension
 
typedef struct
__DRIcopySubBufferExtensionRec 
__DRIcopySubBufferExtension
 
typedef struct
__DRIswapControlExtensionRec 
__DRIswapControlExtension
 
typedef struct
__DRIframeTrackingExtensionRec 
__DRIframeTrackingExtension
 
typedef struct
__DRImediaStreamCounterExtensionRec 
__DRImediaStreamCounterExtension
 
typedef struct
__DRItexOffsetExtensionRec 
__DRItexOffsetExtension
 
typedef struct
__DRItexBufferExtensionRec 
__DRItexBufferExtension
 
typedef struct
__DRIlegacyExtensionRec 
__DRIlegacyExtension
 
typedef struct
__DRIswrastExtensionRec 
__DRIswrastExtension
 
typedef struct __DRIbufferRec __DRIbuffer
 
typedef struct
__DRIdri2ExtensionRec 
__DRIdri2Extension
 
typedef struct
__DRIdri2LoaderExtensionRec 
__DRIdri2LoaderExtension
 
typedef struct
__DRI2flushExtensionRec 
__DRI2flushExtension
 

Variables

const char __driConfigOptions []
 

Detailed Description

This file contains all the types and functions that define the interface between a DRI driver and driver loader. Currently, the most common driver loader is the XFree86 libGL.so. However, other loaders do exist, and in the future the server-side libglx.a will also be a loader.

Author
Kevin E. Martin kevin.nosp@m.@pre.nosp@m.cisio.nosp@m.nins.nosp@m.ight..nosp@m.com
Ian Romanick idr@u.nosp@m.s.ib.nosp@m.m.com
Kristian Høgsberg krh@r.nosp@m.edha.nosp@m.t.com

Definition in file dri_interface.h.

Macro Definition Documentation

#define __DRI2_CONFIG_QUERY   "DRI_CONFIG_QUERY"

This extension allows for common DRI2 options

Definition at line 883 of file dri_interface.h.

#define __DRI2_CONFIG_QUERY_VERSION   1

Definition at line 884 of file dri_interface.h.

#define __DRI2_FLUSH   "DRI2_Flush"

Used by drivers that implement DRI2

Definition at line 268 of file dri_interface.h.

#define __DRI2_FLUSH_VERSION   3

Definition at line 269 of file dri_interface.h.

#define __DRI_API_GLES   1

Definition at line 762 of file dri_interface.h.

#define __DRI_API_GLES2   2

Definition at line 763 of file dri_interface.h.

#define __DRI_API_OPENGL   0

Definition at line 761 of file dri_interface.h.

#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE   14

Definition at line 468 of file dri_interface.h.

#define __DRI_ATTRIB_ACCUM_BLUE_SIZE   13

Definition at line 467 of file dri_interface.h.

#define __DRI_ATTRIB_ACCUM_GREEN_SIZE   12

Definition at line 466 of file dri_interface.h.

#define __DRI_ATTRIB_ACCUM_RED_SIZE   11

Definition at line 465 of file dri_interface.h.

#define __DRI_ATTRIB_ALPHA_MASK   33

Definition at line 487 of file dri_interface.h.

#define __DRI_ATTRIB_ALPHA_MASK_SIZE   8

Definition at line 462 of file dri_interface.h.

#define __DRI_ATTRIB_ALPHA_SIZE   7

Definition at line 461 of file dri_interface.h.

#define __DRI_ATTRIB_AUX_BUFFERS   22

Definition at line 476 of file dri_interface.h.

#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE   45

Definition at line 499 of file dri_interface.h.

#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB   43

Definition at line 497 of file dri_interface.h.

#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA   44

Definition at line 498 of file dri_interface.h.

#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS   46

Definition at line 500 of file dri_interface.h.

#define __DRI_ATTRIB_BLUE_MASK   32

Definition at line 486 of file dri_interface.h.

#define __DRI_ATTRIB_BLUE_SIZE   5

Definition at line 459 of file dri_interface.h.

#define __DRI_ATTRIB_BUFFER_SIZE   1

Tokens for __DRIconfig attribs. A number of attributes defined by GLX or EGL standards are not in the table, as they must be provided by the loader. For example, FBConfig ID or visual ID, drawable type.

Definition at line 455 of file dri_interface.h.

#define __DRI_ATTRIB_COLOR_INDEX_BIT   0x02

Definition at line 506 of file dri_interface.h.

#define __DRI_ATTRIB_CONFIG_CAVEAT   18

Definition at line 472 of file dri_interface.h.

#define __DRI_ATTRIB_CONFORMANT   19

Definition at line 473 of file dri_interface.h.

#define __DRI_ATTRIB_DEPTH_SIZE   9

Definition at line 463 of file dri_interface.h.

#define __DRI_ATTRIB_DOUBLE_BUFFER   20

Definition at line 474 of file dri_interface.h.

#define __DRI_ATTRIB_FLOAT_MODE   29

Definition at line 483 of file dri_interface.h.

#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE   48

Definition at line 502 of file dri_interface.h.

#define __DRI_ATTRIB_GREEN_MASK   31

Definition at line 485 of file dri_interface.h.

#define __DRI_ATTRIB_GREEN_SIZE   4

Definition at line 458 of file dri_interface.h.

#define __DRI_ATTRIB_LEVEL   2

Definition at line 456 of file dri_interface.h.

#define __DRI_ATTRIB_LUMINANCE_BIT   0x04

Definition at line 507 of file dri_interface.h.

#define __DRI_ATTRIB_LUMINANCE_SIZE   6

Definition at line 460 of file dri_interface.h.

#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT   35

Definition at line 489 of file dri_interface.h.

#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS   36

Definition at line 490 of file dri_interface.h.

#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH   34

Definition at line 488 of file dri_interface.h.

#define __DRI_ATTRIB_MAX_SWAP_INTERVAL   41

Definition at line 495 of file dri_interface.h.

#define __DRI_ATTRIB_MIN_SWAP_INTERVAL   42

Definition at line 496 of file dri_interface.h.

#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG   0x02

Definition at line 511 of file dri_interface.h.

#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT   38

Definition at line 492 of file dri_interface.h.

#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH   37

Definition at line 491 of file dri_interface.h.

#define __DRI_ATTRIB_RED_MASK   30

Definition at line 484 of file dri_interface.h.

#define __DRI_ATTRIB_RED_SIZE   3

Definition at line 457 of file dri_interface.h.

#define __DRI_ATTRIB_RENDER_TYPE   17

Definition at line 471 of file dri_interface.h.

#define __DRI_ATTRIB_RGBA_BIT   0x01

Definition at line 505 of file dri_interface.h.

#define __DRI_ATTRIB_SAMPLE_BUFFERS   15

Definition at line 469 of file dri_interface.h.

#define __DRI_ATTRIB_SAMPLES   16

Definition at line 470 of file dri_interface.h.

#define __DRI_ATTRIB_SLOW_BIT   0x01

Definition at line 510 of file dri_interface.h.

#define __DRI_ATTRIB_STENCIL_SIZE   10

Definition at line 464 of file dri_interface.h.

#define __DRI_ATTRIB_STEREO   21

Definition at line 475 of file dri_interface.h.

#define __DRI_ATTRIB_SWAP_METHOD   40

Definition at line 494 of file dri_interface.h.

#define __DRI_ATTRIB_TEXTURE_1D_BIT   0x01

Definition at line 518 of file dri_interface.h.

#define __DRI_ATTRIB_TEXTURE_2D_BIT   0x02

Definition at line 519 of file dri_interface.h.

#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT   0x04

Definition at line 520 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE   28

Definition at line 482 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE   27

Definition at line 481 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE   26

Definition at line 480 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_INDEX   0x01

Definition at line 515 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE   24

Definition at line 478 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE   25

Definition at line 479 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_RGB   0x00

Definition at line 514 of file dri_interface.h.

#define __DRI_ATTRIB_TRANSPARENT_TYPE   23

Definition at line 477 of file dri_interface.h.

#define __DRI_ATTRIB_VISUAL_SELECT_GROUP   39

Definition at line 493 of file dri_interface.h.

#define __DRI_ATTRIB_YINVERTED   47

Definition at line 501 of file dri_interface.h.

#define __DRI_BUFFER_ACCUM   6

Definition at line 691 of file dri_interface.h.

#define __DRI_BUFFER_BACK_LEFT   1

Definition at line 686 of file dri_interface.h.

#define __DRI_BUFFER_BACK_RIGHT   3

Definition at line 688 of file dri_interface.h.

#define __DRI_BUFFER_DEPTH   4

Definition at line 689 of file dri_interface.h.

#define __DRI_BUFFER_DEPTH_STENCIL   9

Only available with DRI2 1.1

Definition at line 694 of file dri_interface.h.

#define __DRI_BUFFER_FAKE_FRONT_LEFT   7

Definition at line 692 of file dri_interface.h.

#define __DRI_BUFFER_FAKE_FRONT_RIGHT   8

Definition at line 693 of file dri_interface.h.

#define __DRI_BUFFER_FRONT_LEFT   0

DRI2 Loader extension.

Definition at line 685 of file dri_interface.h.

#define __DRI_BUFFER_FRONT_RIGHT   2

Definition at line 687 of file dri_interface.h.

#define __DRI_BUFFER_HIZ   10

Definition at line 695 of file dri_interface.h.

#define __DRI_BUFFER_STENCIL   5

Definition at line 690 of file dri_interface.h.

#define __DRI_COPY_SUB_BUFFER   "DRI_CopySubBuffer"

Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.

Definition at line 132 of file dri_interface.h.

#define __DRI_COPY_SUB_BUFFER_VERSION   1

Definition at line 133 of file dri_interface.h.

#define __DRI_CORE   "DRI_Core"

This extension defines the core DRI functionality.

Definition at line 525 of file dri_interface.h.

#define __DRI_CORE_VERSION   1

Definition at line 526 of file dri_interface.h.

#define __DRI_DAMAGE   "DRI_Damage"

Damage reporting

Definition at line 360 of file dri_interface.h.

#define __DRI_DAMAGE_VERSION   1

Definition at line 361 of file dri_interface.h.

#define __DRI_DRI2   "DRI_DRI2"

This extension provides alternative screen, drawable and context constructors for DRI2.

Definition at line 758 of file dri_interface.h.

#define __DRI_DRI2_LOADER   "DRI_DRI2Loader"

Definition at line 705 of file dri_interface.h.

#define __DRI_DRI2_LOADER_VERSION   3

Definition at line 706 of file dri_interface.h.

#define __DRI_DRI2_VERSION   2

Definition at line 759 of file dri_interface.h.

#define __DRI_DRIVER_EXTENSIONS   "__driDriverExtensions"

The remaining extensions describe driver extensions, immediately available interfaces provided by the driver. To start using the driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for the extension you need in the array.

Definition at line 447 of file dri_interface.h.

#define __DRI_FRAME_TRACKING   "DRI_FrameTracking"

Used by drivers that implement the GLX_MESA_swap_frame_usage extension.

Definition at line 154 of file dri_interface.h.

#define __DRI_FRAME_TRACKING_VERSION   1

Definition at line 155 of file dri_interface.h.

#define __DRI_GET_DRAWABLE_INFO   "DRI_GetDrawableInfo"

Callback to getDrawableInfo protocol

Definition at line 314 of file dri_interface.h.

#define __DRI_GET_DRAWABLE_INFO_VERSION   1

Definition at line 315 of file dri_interface.h.

#define __DRI_IMAGE   "DRI_IMAGE"

This extension provides functionality to enable various EGLImage extensions.

Definition at line 805 of file dri_interface.h.

#define __DRI_IMAGE_ATTRIB_HANDLE   0x2001

Definition at line 827 of file dri_interface.h.

#define __DRI_IMAGE_ATTRIB_NAME   0x2002

Definition at line 828 of file dri_interface.h.

#define __DRI_IMAGE_ATTRIB_STRIDE   0x2000

queryImage attributes

Definition at line 826 of file dri_interface.h.

#define __DRI_IMAGE_FORMAT_ARGB8888   0x1003

Definition at line 816 of file dri_interface.h.

#define __DRI_IMAGE_FORMAT_RGB565   0x1001

These formats correspond to the similarly named MESA_FORMAT_* tokens, except in the native endian of the CPU. For example, on little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.

Definition at line 814 of file dri_interface.h.

#define __DRI_IMAGE_FORMAT_XRGB8888   0x1002

Definition at line 815 of file dri_interface.h.

#define __DRI_IMAGE_LOOKUP   "DRI_IMAGE_LOOKUP"

This extension must be implemented by the loader and passed to the driver at screen creation time. The EGLImage entry points in the various client APIs take opaque EGLImage handles and use this extension to map them to a __DRIimage. At version 1, this extensions allows mapping EGLImage pointers to __DRIimage pointers, but future versions could support other EGLImage-like, opaque types with new lookup functions.

Definition at line 869 of file dri_interface.h.

#define __DRI_IMAGE_LOOKUP_VERSION   1

Definition at line 870 of file dri_interface.h.

#define __DRI_IMAGE_USE_CURSOR   0x0004

Definition at line 820 of file dri_interface.h.

#define __DRI_IMAGE_USE_SCANOUT   0x0002

Definition at line 819 of file dri_interface.h.

#define __DRI_IMAGE_USE_SHARE   0x0001

Definition at line 818 of file dri_interface.h.

#define __DRI_IMAGE_VERSION   1

Definition at line 806 of file dri_interface.h.

#define __DRI_LEGACY   "DRI_Legacy"

This extension provides alternative screen, drawable and context constructors for legacy DRI functionality. This is used in conjunction with the core extension.

Definition at line 624 of file dri_interface.h.

#define __DRI_LEGACY_VERSION   1

Definition at line 625 of file dri_interface.h.

#define __DRI_MEDIA_STREAM_COUNTER   "DRI_MediaStreamCounter"

Used by drivers that implement the GLX_SGI_video_sync extension.

Definition at line 180 of file dri_interface.h.

#define __DRI_MEDIA_STREAM_COUNTER_VERSION   1

Definition at line 181 of file dri_interface.h.

#define __DRI_READ_DRAWABLE   "DRI_ReadDrawable"

The first set of extension are the screen extensions, returned by __DRIcore::getExtensions(). This entry point will return a list of extensions and the loader can use the ones it knows about by casting them to more specific extensions and advertising any GLX extensions the DRI extensions enables. Used by drivers to indicate support for setting the read drawable.

Definition at line 126 of file dri_interface.h.

#define __DRI_READ_DRAWABLE_VERSION   1

Definition at line 127 of file dri_interface.h.

#define __DRI_SWAP_CONTROL   "DRI_SwapControl"

Used by drivers that implement the GLX_SGI_swap_control or GLX_MESA_swap_control extension.

Definition at line 143 of file dri_interface.h.

#define __DRI_SWAP_CONTROL_VERSION   1

Definition at line 144 of file dri_interface.h.

#define __DRI_SWRAST   "DRI_SWRast"

This extension provides alternative screen, drawable and context constructors for swrast DRI functionality. This is used in conjunction with the core extension.

Definition at line 659 of file dri_interface.h.

#define __DRI_SWRAST_IMAGE_OP_CLEAR   2

Definition at line 388 of file dri_interface.h.

#define __DRI_SWRAST_IMAGE_OP_DRAW   1

Definition at line 387 of file dri_interface.h.

#define __DRI_SWRAST_IMAGE_OP_SWAP   3

Definition at line 389 of file dri_interface.h.

#define __DRI_SWRAST_LOADER   "DRI_SWRastLoader"

SWRast Loader extension.

Definition at line 394 of file dri_interface.h.

#define __DRI_SWRAST_LOADER_VERSION   1

Definition at line 395 of file dri_interface.h.

#define __DRI_SWRAST_VERSION   2

Definition at line 660 of file dri_interface.h.

#define __DRI_SYSTEM_TIME   "DRI_SystemTime"

Callback to get system time for media stream counter extensions.

Definition at line 335 of file dri_interface.h.

#define __DRI_SYSTEM_TIME_VERSION   1

Definition at line 336 of file dri_interface.h.

#define __DRI_TEX_BUFFER   "DRI_TexBuffer"

Definition at line 228 of file dri_interface.h.

#define __DRI_TEX_BUFFER_VERSION   2

Definition at line 229 of file dri_interface.h.

#define __DRI_TEX_OFFSET   "DRI_TexOffset"

Definition at line 204 of file dri_interface.h.

#define __DRI_TEX_OFFSET_VERSION   1

Definition at line 205 of file dri_interface.h.

#define __DRI_TEXTURE_FORMAT_NONE   0x20D8

Definition at line 224 of file dri_interface.h.

#define __DRI_TEXTURE_FORMAT_RGB   0x20D9

Definition at line 225 of file dri_interface.h.

#define __DRI_TEXTURE_FORMAT_RGBA   0x20DA

Definition at line 226 of file dri_interface.h.

#define __DRI_USE_INVALIDATE   "DRI_UseInvalidate"

Invalidate loader extension. The presence of this extension indicates to the DRI driver that the loader will call invalidate in the __DRI2_FLUSH extension, whenever the needs to query for new buffers. This means that the DRI driver can drop the polling in glViewport().

The extension doesn't provide any functionality, it's only use to indicate to the driver that it can use the new semantics. A DRI driver can use this to switch between the different semantics or just refuse to initialize if this extension isn't present.

Definition at line 433 of file dri_interface.h.

#define __DRI_USE_INVALIDATE_VERSION   1

Definition at line 434 of file dri_interface.h.

Typedef Documentation

Definition at line 86 of file dri_interface.h.

typedef struct __DRIbufferRec __DRIbuffer

Definition at line 83 of file dri_interface.h.

typedef struct __DRIconfigRec __DRIconfig

Definition at line 69 of file dri_interface.h.

typedef struct __DRIcontextRec __DRIcontext

Definition at line 67 of file dri_interface.h.

Definition at line 73 of file dri_interface.h.

Definition at line 306 of file dri_interface.h.

typedef struct __DRIdisplayRec __DRIdisplay

Definition at line 65 of file dri_interface.h.

typedef struct __DRIdrawableRec __DRIdrawable

Definition at line 68 of file dri_interface.h.

Definition at line 84 of file dri_interface.h.

Definition at line 85 of file dri_interface.h.

Definition at line 74 of file dri_interface.h.

Definition at line 70 of file dri_interface.h.

The following extensions describe loader features that the DRI driver can make use of. Some of these are mandatory, such as the getDrawableInfo extension for DRI and the DRI Loader extensions for DRI2, while others are optional, and if present allow the driver to expose certain features. The loader pass in a NULL terminated array of these extensions to the driver in the createNewScreen constructor.

Definition at line 304 of file dri_interface.h.

typedef struct __DRIimageRec __DRIimage

Definition at line 830 of file dri_interface.h.

Definition at line 831 of file dri_interface.h.

Definition at line 872 of file dri_interface.h.

Definition at line 81 of file dri_interface.h.

typedef struct __DRIloaderExtensionRec __DRIloaderExtension

Definition at line 307 of file dri_interface.h.

typedef struct __DRIscreenRec __DRIscreen

Definition at line 66 of file dri_interface.h.

Definition at line 76 of file dri_interface.h.

Definition at line 82 of file dri_interface.h.

Definition at line 305 of file dri_interface.h.

Definition at line 80 of file dri_interface.h.

Definition at line 79 of file dri_interface.h.

typedef struct __DRIversionRec __DRIversion

Definition at line 71 of file dri_interface.h.

Variable Documentation

const char __driConfigOptions[]

XML document describing the configuration options supported by the driver.