IOAccelSurfaceConnect.h [plain text]
#ifndef _IOACCEL_SURFACE_CONNECT_H
#define _IOACCEL_SURFACE_CONNECT_H
#include <IOKit/graphics/IOAccelTypes.h>
#include <IOKit/graphics/IOAccelClientConnect.h>
typedef struct
{
UInt32 num_rects;
IOAccelBounds bounds;
IOAccelBounds rect[0];
} IOAccelDeviceRegion;
#define IOACCEL_SIZEOF_DEVICE_REGION(_rgn_) (sizeof(IOAccelDeviceRegion) + (_rgn_)->num_rects * sizeof(IOAccelBounds))
enum eIOAccelSurfaceMemoryTypes {
kIOAccelNumSurfaceMemoryTypes
};
enum eIOAccelSurfaceMethods {
kIOAccelSurfaceReadLockOptions,
kIOAccelSurfaceReadUnlockOptions,
kIOAccelSurfaceGetState,
kIOAccelSurfaceWriteLockOptions,
kIOAccelSurfaceWriteUnlockOptions,
kIOAccelSurfaceRead,
kIOAccelSurfaceSetShapeBacking,
kIOAccelSurfaceSetIDMode,
kIOAccelSurfaceSetScale,
kIOAccelSurfaceSetShape,
kIOAccelSurfaceFlush,
kIOAccelSurfaceQueryLock,
kIOAccelSurfaceReadLock,
kIOAccelSurfaceReadUnlock,
kIOAccelSurfaceWriteLock,
kIOAccelSurfaceWriteUnlock,
kIOAccelSurfaceControl,
kIOAccelSurfaceSetShapeBackingAndLength,
kIOAccelNumSurfaceMethods
};
typedef enum {
kIOAccelSurfaceModeColorDepth1555 = 0x00000003,
kIOAccelSurfaceModeColorDepth8888 = 0x00000004,
kIOAccelSurfaceModeColorDepthYUV = 0x00000006,
kIOAccelSurfaceModeColorDepthYUV9 = 0x00000007,
kIOAccelSurfaceModeColorDepthYUV12 = 0x00000008,
kIOAccelSurfaceModeColorDepthYUV2 = 0x00000009,
kIOAccelSurfaceModeColorDepthBGRA32 = 0x0000000A,
kIOAccelSurfaceModeColorDepth2101010 = 0x0000000F,
kIOAccelSurfaceModeColorDepthBits = 0x0000000F,
kIOAccelSurfaceModeStereoBit = 0x00000010,
kIOAccelSurfaceModeWindowedBit = 0x00000020,
kIOAccelSurfaceModeBeamSync = 0x00008000
} eIOAccelSurfaceModeBits;
typedef enum {
kIOAccelSurfaceShapeNone = 0x00000000,
kIOAccelSurfaceShapeNonBlockingBit = 0x00000001,
kIOAccelSurfaceShapeNonSimpleBit = 0x00000002,
kIOAccelSurfaceShapeIdentityScaleBit = 0x00000004,
kIOAccelSurfaceShapeFrameSyncBit = 0x00000008,
kIOAccelSurfaceShapeBeamSyncBit = 0x00000010,
kIOAccelSurfaceShapeStaleBackingBit = 0x00000020,
kIOAccelSurfaceShapeAssemblyBit = 0x00000040,
kIOAccelSurfaceShapeWaitEnabledBit = 0x00000080,
kIOAccelSurfaceShapeBlockingBit = kIOAccelSurfaceShapeNonBlockingBit
} eIOAccelSurfaceShapeBits;
typedef enum {
kIOAccelSurfaceStateNone = 0x00000000,
kIOAccelSurfaceStateIdleBit = 0x00000001
} eIOAccelSurfaceStateBits;
typedef enum {
kIOAccelSurfaceBeamSyncSwaps = 0x00000001,
kIOAccelSurfaceFixedSource = 0x00000002,
kIOAccelSurfaceFiltering = 0x000000f0,
kIOAccelSurfaceFilterDefault = 0x00000000,
kIOAccelSurfaceFilterNone = 0x00000010,
kIOAccelSurfaceFilterLinear = 0x00000020
} eIOAccelSurfaceScaleBits;
typedef enum {
kIOAccelSurfaceLockInBacking = 0,
kIOAccelSurfaceLockInAccel = 1,
kIOAccelSurfaceLockInDontCare = 2,
kIOAccelSurfaceLockInMask = 0x00000003
} eIOAccelSurfaceLockBits;
#endif