📄 drvescape.h
字号:
/*************************************************************************
* Name : drvescape.h
* Title : Driver Escape definitions
* Author : Doug Patterson
* Created : 23/01/2003
*
* Copyright : 2003 by Imagination Technologies. All rights reserved.
* : No part of this software, either material or conceptual
* : may be copied or distributed, transmitted, transcribed,
* : stored in a retrieval system or translated into any
* : human or computer language in any form by any means,
* : electronic, mechanical, manual or other-wise, or
* : disclosed to third parties without the express written
* : permission of Imagination Technologies, Unit 8, HomePark
* : Industrial Estate, King's Langley, Hertfordshire,
* : WD4 8LZ, U.K.
*
* Description : Driver Escape definitions
*
* Platform : WinCE
*
* Revision : $Revision: 1.8 $
*
* Modifications:-
* $Log: drvescape.h $
*
* --- Revision Logs Removed ---
*
* --- Revision Logs Removed ---
*
* --- Revision Logs Removed ---
*
* --- Revision Logs Removed ---
**************************************************************************/
#ifndef __DRVESCAPE_H__
#define __DRVESCAPE_H__
/*
DRVESC_HWVERIFY parameter definitions.
Hardware verification compares hardware output with software output,
both having identical inputs.
It can optionally generate parameter dumps for off-line analysis.
*/
typedef enum /* Enum used to specify what region should be verified. Used for trapping overdraw. */
{
HWVERIFY_DST_RECT=0, /* Verify only the destination rectangle (fastest) */
HWVERIFY_DST_RECT_PLUS=1, /* Verify the dest rect plus one pixel in each direction */
HWVERIFY_DST_ALL=2 /* Verify the entire destination surface (slowest) */
} HWVERIFY_REGION;
/* Command packet for DRVESC_HWVERIFY */
typedef struct _DRVESC_HWVERIFY_PARAMS
{
DWORD dwFlags; /* Get/Set */
DWORD dwFailures; /* number of verify failures */
/* dwFlags literals */
#define DRVESC_HWVERIFY_FLAG_GET 0x00000001 /* Input : Get params - caller must also provide an output packet. */
#define DRVESC_HWVERIFY_FLAG_SET 0x00000002 /* Input : Set params - caller only provides an input packet. */
BOOL bEnabled; /* Enables hardware verification. */
BOOL bPDumpFailures; /* Enablesparameter dumping of verification failures. */
BOOL bUnattendedMode; /* Carries on without stopping. */
HWVERIFY_REGION eVerDst; /* Type of verification. */
} DRVESC_HWVERIFY_PARAMS, *PDRVESC_HWVERIFY_PARAMS;
/* command packet for DRVESC_BACKLIGHT */
typedef struct _DRVESC_BACKLIGHT_PARAMS
{
DWORD dwBrightness; /* Brightness in the range 0 to 99 */
BOOL bGet; /* TRUE to get settings, FALSE to set new settings */
} DRVESC_BACKLIGHT_PARAMS, *PDRVESC_BACKLIGHT_PARAMS;
#ifdef LOCAL_MEMORY_SELF_REFRESH
#define LOCAL_MEMORY_SETTINGS_SET 0x10000000
#define LOCAL_MEMORY_SETTINGS_GET 0x00000000
#define LOCAL_MEMORY_SETTINGS_FEATURE 0x00000001
#define LOCAL_MEMORY_SETTINGS_TIMEOUT 0x00000002
typedef struct _DRVESC_LOCAL_MEMORY_SETTINGS
{
DWORD dwFlags;
BOOL bTurnOnFeature;
DWORD dwTimeout;
} DRVESC_LOCAL_MEMORY_SETTINGS, *PDRVESC_LOCAL_MEMORY_SETTINGS;
#endif // LOCAL_MEMORY_SELF_REFRESH
/*****************************************************************************
Surface Management and M24VA control structures
*****************************************************************************/
#ifdef SUPPORT_M24VA
typedef struct _DRVESC_M24VA_ACQUIRE_PARAMS_
{
DWORD dwAcquire; /* true - acquire, false - release */
DWORD dwProcessID; /* ID of process to acquire hardware */
} DRVESC_M24VA_ACQUIRE_PARAMS;
typedef struct _DRVESC_M24VA_CONFIG_PARAMS_
{
DWORD pPhysRegBase; /* Base address and size of M24VA register..*/
DWORD dwPhysRegSize; /* ..block. */
DWORD pPhysCmdSPBase; /* Base address and size of M24VA command ..*/
DWORD dwPhysCmdSPSize; /* ..slave port block.*/
DWORD pPhysIDCTSPBase; /* Base address and size of M24VA IDCT ..*/
DWORD dwPhysIDCTSPSize; /* ..slave port block.*/
} DRVESC_M24VA_CONFIG_PARAMS;
typedef enum
{
DRVESC_SURFACE_FORMAT_420,
DRVESC_SURFACE_FORMAT_422,
DRVESC_SURFACE_FORMAT_RGB24
} DRVESC_SUR_FORMAT;
typedef struct _DRVESC_M24VA_ALLOCFREE_SURFACE_PARAMS_
{
BOOL bAllocate; /* TRUE - allocate, FALSE - free */
DWORD dwSurfaceHandle; /* OUT : Allocate, IN: Free */
DWORD dwProcessID; /* IN : Process ID of process allocating */
DWORD dwWidth, dwHeight; /* IN : Surface dimensions */
DRVESC_SUR_FORMAT eFormat; /* IN : Pixel format, as defined by M24VA API */
DWORD pPhysAddress; /* OUT : Physical address of surface */
DWORD dwFBOffset; /* OUT : Offset of block from start of frame buffer */
DWORD dwStride; /* OUT : Stride in bytes */
DWORD dwSize; /* OUT : Size in bytes */
} DRVESC_M24VA_ALLOCFREE_SURFACE_PARAMS;
#endif /* SUPPORT_M24VA */
#ifndef DEBUG
typedef struct _DRVESC_EXCEPTION_COUNTS_
{
ULONG ulStandard; /* OUT : Non rotated emulated blts */
ULONG ulRotated; /* OUT : Emulated blts rotated */
} DRVESC_EXCEPTION_COUNTS, *PDRVESC_EXCEPTION_COUNTS;
#endif
typedef struct _DRVESC_RESMAN_THREAD_TERMINATED_PARAMS_
{
HANDLE hProcess;
} DRVESC_RESMAN_THREAD_TERMINATED_PARAMS;
typedef struct
{
DWORD dwLeft;
DWORD dwTop;
DWORD dwWidth;
DWORD dwHeight;
BOOL bStatus;
} DRVESC_GXDMA, *PDRVESC_GXDMA;
/*****************************************************************************
Driver Escape codes : Used by application and driver
*****************************************************************************/
#define DRVESC_BASEVALUE 100000
#define DRVESC_PDUMP_ON (DRVESC_BASEVALUE + 0)
#define DRVESC_PDUMP_OFF (DRVESC_BASEVALUE + 1)
#define DRVESC_DISPLAY_GAMMA (DRVESC_BASEVALUE + 2)
#define DRVESC_DISPLAY_BRIGHTNESS (DRVESC_BASEVALUE + 3)
#define DRVESC_DISPLAY_CONTRAST (DRVESC_BASEVALUE + 4)
#define DRVESC_OVERLAY_GAMMA (DRVESC_BASEVALUE + 5)
#define DRVESC_OVERLAY_BRIGHTNESS (DRVESC_BASEVALUE + 6)
#define DRVESC_OVERLAY_CONTRAST (DRVESC_BASEVALUE + 7)
#define DRVESC_CURSOR_ROTATE (DRVESC_BASEVALUE + 8)
#define DRVESC_COLOR_COEFFS (DRVESC_BASEVALUE + 9)
#define DRVESC_HWVERIFY (DRVESC_BASEVALUE + 10)
#define DRVESC_BACKLIGHT (DRVESC_BASEVALUE + 11)
#define DRVESC_MEMCHK (DRVESC_BASEVALUE + 12)
#ifdef SUPPORT_M24VA
#define DRVESC_M24VA_ACQUIRE (DRVESC_BASEVALUE + 13)
#define DRVESC_M24VA_ALLOCFREE_SURFACE (DRVESC_BASEVALUE + 14)
#define DRVESC_M24VA_CONFIG (DRVESC_BASEVALUE + 15)
#define DRVESC_OVERLAY_ATTRIBUTE (DRVESC_BASEVALUE + 20)
#define DRVESC_OVERLAY_FLIP (DRVESC_BASEVALUE + 21)
#endif /* SUPPORT_M24VA */
#ifndef DEBUG
#define DRVESC_GET_EXCEPTION_COUNTS (DRVESC_BASEVALUE + 22)
#endif
#define DRVESC_READREG (DRVESC_BASEVALUE + 23)
#define DRVESC_WRITEREG (DRVESC_BASEVALUE + 24)
#define DRVESC_RESMAN_THREAD_TERMINATED (DRVESC_BASEVALUE + 25)
#define DRVESC_GET_PHYS_ROTATION (DRVESC_BASEVALUE + 26)
#define DRVESC_2D_PROFILE (DRVESC_BASEVALUE + 27)
#define DRVESC_GXDMA_VRAM_TO_DRAM (DRVESC_BASEVALUE + 28)
#define DRVESC_GXDMA_DRAM_TO_VRAM (DRVESC_BASEVALUE + 29)
#define DRVESC_GXDMA_STATUS (DRVESC_BASEVALUE + 30)
#ifdef LOCAL_MEMORY_SELF_REFRESH
#define DRVESC_LOCAL_MEMORY (DRVESC_BASEVALUE + 31)
#endif
#define DRVESC_PREPARE_OVERLAY_FLIP (DRVESC_BASEVALUE + 32)
#endif __DRVESCAPE_H__
/*****************************************************************************
End of file (DRVESCAPE.H)
*****************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -