/* Copyright (c) 2006 NVIDIA Corporation. All rights reserved. * * NVIDIA Corporation and its licensors retain all intellectual property * and proprietary rights in and to this software, related documentation * and any modifications thereto. Any use, reproduction, disclosure or * distribution of this software and related documentation without an * express license agreement from NVIDIA Corporation is strictly prohibited. */ /** @file GFDx.h GFSDK Display Initialization API header file. */ #ifndef GF_DX_H #define GF_DX_H #include "GFDispCmdData.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** @addtogroup groupDx DxAPI Display Initialization API */ /*@{*/ /** GFDxAPI color info to be used during programming GFDxErase*/ #define GFDX_COLOR_RED 0xF800F800 #define GFDX_COLOR_GREEN 0x07E007E0 #define GFDX_COLOR_BLUE 0x001F001F /** GFDxAPI error code: Function not supported. */ #define GFDX_ERROR_NO_SUPPORT (GFDX_ERROR | 2) /** GFDxAPI error code: Invalid attribute ID for GFDxSetAttribute() / GFDxGetAttribute(). */ #define GFDX_ERROR_INVALID_ATTRIBUTE (GFDX_ERROR | 6) /** This struct is used by GFDxGetProperty(). * */ typedef struct _GFDXPROPERTY { /** standard GF property, following info is available as cap */ GFPROPERTY Prop; /** Not supported */ NvU16 LcdWidth; /** Not supported */ NvU16 LcdHeight; /** Not supported */ NvU16 LcdIndex; /** Not supported */ char LcdName[18]; /** Not supported */ NvU16 SubLcdWidth; /** Not supported */ NvU16 SubLcdHeight; /** Not supported */ NvU16 SubLcdIndex; /** Not supported */ char SubLcdName[18]; } GFDXPROPERTY, *PGFDXPROPERTY; #define DC_P_A_BLEND_2WIN_B DC_P_B_BLEND_2WIN_A #define DC_P_A_BLEND_2WIN_C DC_P_B_BLEND_2WIN_C #define DC_P_C_BLEND_2WIN_A DC_P_B_BLEND_2WIN_A #define DC_P_C_BLEND_2WIN_B DC_P_B_BLEND_2WIN_C //#define DC_P_B_BLEND_2WIN_B DC_P_B_BLEND_2WIN_C #define P_B_CKEY_ENABLE_2WIN_B_CKEY0 P_B_CKEY_ENABLE_2WIN_C_CKEY0 #define P_B_CKEY_ENABLE_2WIN_B_CKEY1 P_B_CKEY_ENABLE_2WIN_C_CKEY1 #define P_B_BLEND_CONTROL_2WIN_B_MASK P_B_BLEND_CONTROL_2WIN_C_MASK #define P_B_BLEND_CONTROL_2WIN_B_ALPHA_WEIGHT P_B_BLEND_CONTROL_2WIN_C_ALPHA_WEIGHT #define P_B_BLEND_CONTROL_2WIN_B_DEPENDENT_WEIGHT P_B_BLEND_CONTROL_2WIN_C_DEPENDENT_WEIGHT #define P_B_BLEND_WEIGHT0_2WIN_B_MASK P_B_BLEND_WEIGHT0_2WIN_C_MASK #define P_B_BLEND_WEIGHT0_2WIN_B_SHIFT P_B_BLEND_WEIGHT0_2WIN_C_SHIFT #define P_B_BLEND_WEIGHT1_2WIN_B_MASK P_B_BLEND_WEIGHT1_2WIN_C_MASK #define P_B_BLEND_WEIGHT1_2WIN_B_SHIFT P_B_BLEND_WEIGHT1_2WIN_C_SHIFT //#define DC_P_B_BLEND_3WIN_AB DC_P_B_BLEND_3WIN_AC #define DC_P_A_BLEND_3WIN_BC DC_P_B_BLEND_3WIN_AC #define P_B_CKEY_ENABLE_3WIN_AB_CKEY0 P_B_CKEY_ENABLE_3WIN_AC_CKEY0 #define P_B_CKEY_ENABLE_3WIN_AB_CKEY1 P_B_CKEY_ENABLE_3WIN_AC_CKEY1 #define P_B_BLEND_CONTROL_3WIN_AB_MASK P_B_BLEND_CONTROL_3WIN_AC_MASK #define P_B_BLEND_CONTROL_3WIN_AB_ALPHA_WEIGHT P_B_BLEND_CONTROL_3WIN_AC_ALPHA_WEIGHT #define P_B_BLEND_CONTROL_3WIN_AB_DEPENDENT_WEIGHT P_B_BLEND_CONTROL_3WIN_AC_DEPENDENT_WEIGHT #define P_B_BLEND_WEIGHT0_3WIN_AB_MASK P_B_BLEND_WEIGHT0_3WIN_AC_MASK #define P_B_BLEND_WEIGHT0_3WIN_AB_SHIFT P_B_BLEND_WEIGHT0_3WIN_AC_SHIFT #define P_B_BLEND_WEIGHT1_3WIN_AB_MASK P_B_BLEND_WEIGHT1_3WIN_AC_MASK #define P_B_BLEND_WEIGHT1_3WIN_AB_SHIFT P_B_BLEND_WEIGHT1_3WIN_AC_SHIFT //#define DC_P_B_BLEND_3WIN_BC DC_P_B_BLEND_3WIN_AC #define DC_P_C_BLEND_3WIN_AB DC_P_B_BLEND_3WIN_AC #define P_B_CKEY_ENABLE_3WIN_BC_CKEY0 P_B_CKEY_ENABLE_3WIN_AC_CKEY0 #define P_B_CKEY_ENABLE_3WIN_BC_CKEY1 P_B_CKEY_ENABLE_3WIN_AC_CKEY1 #define P_B_BLEND_CONTROL_3WIN_BC_MASK P_B_BLEND_CONTROL_3WIN_AC_MASK #define P_B_BLEND_CONTROL_3WIN_BC_ALPHA_WEIGHT P_B_BLEND_CONTROL_3WIN_AC_ALPHA_WEIGHT #define P_B_BLEND_CONTROL_3WIN_BC_DEPENDENT_WEIGHT P_B_BLEND_CONTROL_3WIN_AC_DEPENDENT_WEIGHT #define P_B_BLEND_WEIGHT0_3WIN_BC_MASK P_B_BLEND_WEIGHT0_3WIN_AC_MASK #define P_B_BLEND_WEIGHT0_3WIN_BC_SHIFT P_B_BLEND_WEIGHT0_3WIN_AC_SHIFT #define P_B_BLEND_WEIGHT1_3WIN_BC_MASK P_B_BLEND_WEIGHT1_3WIN_AC_MASK #define P_B_BLEND_WEIGHT1_3WIN_BC_SHIFT P_B_BLEND_WEIGHT1_3WIN_AC_SHIFT /** Definition of attribute ids for Set/GetAttributes() */ typedef enum _GFDXATTRIBUTES { /** Width of the LCD fixed (240 for a 240x320 panel) */ GFDX_ATTR_LCDWIDTH, /** Height of the LCD fixed (320 for a 240x320 panel) */ GFDX_ATTR_LCDHEIGHT, /** NVIDIA panel index, This function overwrites environment panel Index setting */ GFDX_ATTR_LCDTYPE, /** Name of the panel (upto 16 chars,"PHILIPS_LP7123A") */ GFDX_ATTR_LCDNAME, /** Width of the display area usually same as LCDWIDTH, Parameters: W[15:0] */ GFDX_ATTR_WIDTH, /** Height of the display area, can be less if emulating smaller size, Parameters: H[15:0] */ GFDX_ATTR_HEIGHT, /** set/gets width height together to avoid artifacts, Parameters: W[15:0], H[31:16] */ GFDX_ATTR_WH_WA, /** set/gets x, y start position of window A, Parameters: X[15:0], Y[31:16] */ GFDX_ATTR_XY_POS_WA, /** Color Depth Bits per pixel: 1,2,4,8,12,15(RGB555),16(RGB565), 32(ARGB888), GFDX_COLOR_DEPTH_YCbCr422, GFDX_COLOR_DEPTH_YUV422, GFDX_COLOR_DEPTH_YCbCr420P, GFDX_COLOR_DEPTH_YUV420P, GFDX_COLOR_DEPTH_YUV422P, GFDX_COLOR_DEPTH_YCbCr422P, GFDX_COLOR_DEPTH_YCbCr422R, GFDX_COLOR_DEPTH_YUV422R, GFDX_COLOR_DEPTH_YCbCr422RA, GFDX_COLOR_DEPTH_YUV422RA, */ GFDX_ATTR_BPP_WA, /** On/Off Horizontal & Vertical Pixel Doubling for window A, Parameters: GFDXA_PIX_DBL_H, GFDXA_PIX_DBL_V or 0-Disable */ GFDX_ATTR_PIXEL_DBL_WA, /** Start Address for Window A Buffer 0 */ GFDX_ATTR_ADDR_WA_B0, /** Start Address for Window A Buffer 1 */ GFDX_ATTR_ADDR_WA_B1, /** Stride for Window A Buffer 0 */ GFDX_ATTR_STRIDE_WA_B0, /** Stride for Window A Buffer 1 */ GFDX_ATTR_STRIDE_WA_B1, /** Enable/Disable Windows A, Parameters: 1-Enable 0-Disable */ GFDX_ATTR_ENABLE_WA, /** Enable/Disable Buf0, Buf1, VI, GE Double Buffer (see def), Parameters: GFDXA_DB_BUF0, GFDXA_DB_BUF1, GFDXA_DB_GE, GFDXA_DB_VI, GFDXA_DB_EPP, GFDXA_DB_MPEGE, GFDXA_DB_HOST */ GFDX_ATTR_DBL_BUF_WA, /** Sets/Gets GC Rotate bits for window A, for internal use only */ GFDX_ATTR_ROTATE_BIT_WA, /** Set/Get H Direction Increment/Decrement for window A, for internal use only */ GFDX_ATTR_H_DIRECTION_WA, /** Set/Get V Direction Increment/Decrement for window A, for internal use only */ GFDX_ATTR_V_DIRECTION_WA, /** Enable/Disable Palette for WinA */ GFDX_ATTR_PALETTE_EN_WA, /** Set/Get Palette 666 R[31-24], G[23-16], B[15-8], Index[7-0] WinA */ GFDX_ATTR_PALETTE_WA, /** Set/Get Palette 888 R[31-24], G[23-16], B[15-8], Index[7-0] WinA */ GFDX_ATTR_PALETTE888_WA, /** Enable/Disable DV WinA , Parameters: GFDX_ATTR_DV_ENABLE, GFDX_ATTR_DV_DISABLE */ GFDX_ATTR_DV_CONTROL_EN_WA, /** Set/Get DV Control R[26-24], G[18-16], B[10-8] WinA */ GFDX_ATTR_DV_CONTROL_WA, /** Color Key0 Lower range for overlay, there are two sets of color keys KEY0 & KEY1, Parameters: R[23-16],G[15-8],B[7-0], Each KEY has Lower and Upper range */ GFDX_ATTR_COLOR_KEY0_LOWER_RANGE, /** Color Key0 Upper range for overlay, there are two sets of color keys KEY0 & KEY1, Parameters: R[23-16],G[15-8],B[7-0], Each KEY has Lower and Upper range */ GFDX_ATTR_COLOR_KEY0_UPPER_RANGE, /** Color Key1 Lower range for overlay, there are two sets of color keys KEY0 & KEY1, Parameters: R[23-16],G[15-8],B[7-0], Each KEY has Lower and Upper range */ GFDX_ATTR_COLOR_KEY1_LOWER_RANGE, /** Color Key1 Upper range for overlay, there are two sets of color keys KEY0 & KEY1, Parameters: R[23-16],G[15-8],B[7-0], Each KEY has Lower and Upper range */ GFDX_ATTR_COLOR_KEY1_UPPER_RANGE, /** Color Key enbled but pixel color is not in range, Parameters: GFDXA_BLEND_CONTROL_NOKEY_ALPHA_WEIGHT else 0 for Fix Weight */ GFDX_ATTR_COLOR_NOKEY_WA, /** Weight0 for Color Key not match area, Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT0_WA, /** Weight1 for Color Key not match area, Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT1_WA, /** Color Key0 Enble/Disable for WinA, Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE or GFDXA_BLEND_COLOR_KEY0_DISABLE */ GFDX_ATTR_COLOR_KEY0_1WIN_WA, /** Color Key1 Enble/Disable for WinA, Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE or GFDXA_BLEND_COLOR_KEY1_DISABLE */ GFDX_ATTR_COLOR_KEY1_1WIN_WA, /** Blend Control for WinA where does not Overlap with other Window, Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or 0 for Fix Weight */ GFDX_ATTR_COLOR_1WIN_WA, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0, Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_1WIN_WEIGHT0_WA, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1, Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_1WIN_WEIGHT1_WA, /** Color Key0 Enble/Disable for WinA, Overlap with WinB, Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY01 else 2WIN_A_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY1 else 2WIN_A_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_B_WA, /** Color Key1 Enble/Disable for WinA, Overlap with WinB, Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY01 else 2WIN_A_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY0 else 2WIN_A_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_B_WA, /** Blend Control for WinA area that overlap with WinB only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_B_WA, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_B_WEIGHT0_WA, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_B_WEIGHT1_WA, /** Color Key0 Enble/Disable for WinA, Overlap with WinC Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY01 else 2WIN_A_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY1 else 2WIN_A_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_C_WA, /** Color Key1 Enble/Disable for WinA, Overlap with WinC Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY01 else 2WIN_A_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_A_CKEY1 enbled then ENABLE_2WIN_A_CKEY0 else 2WIN_A_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_C_WA, /** Blend Control for WinA area that overlap with WinC only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_C_WA, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_C_WEIGHT0_WA, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_C_WEIGHT1_WA, /** Color Key0 Enble/Disable for WinA, Overlap with WinA & WinC Only Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 3WIN_AC_CKEY1 enbled then ENABLE_3WIN_AC_CKEY01 else 3WIN_AC_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 3WIN_AC_CKEY1 enbled then ENABLE_3WIN_AC_CKEY1 else 3WIN_AC_NOKEY) */ GFDX_ATTR_COLOR_KEY0_3WIN_BC_WA, /** Color Key1 Enble/Disable for WinA, Overlap with WinA & WinC Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 3WIN_AC_CKEY1 enbled then ENABLE_3WIN_AC_CKEY01 else 3WIN_AC_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 3WIN_AC_CKEY1 enbled then ENABLE_3WIN_AC_CKEY0 else 3WIN_AC_NOKEY) */ GFDX_ATTR_COLOR_KEY1_3WIN_BC_WA, /** Blend Control for WinA area that overlap with WinA & WinC only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_3WIN_BC_WA, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_3WIN_BC_WEIGHT0_WA, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_3WIN_BC_WEIGHT1_WA, /** set/gets width height together to avoid artifacts */ GFDX_ATTR_WH_WB, /** set/gets source width height together to avoid artifacts, Parameters: W[15:0], H[31:16] */ GFDX_ATTR_SRC_WH_WB, /** set/gets x, y start position of window B, Parameters: X[15:0], Y[31:16] */ GFDX_ATTR_XY_POS_WB, /** Color Depth Bits per pixel: 1,2,4,8,12,15(RGB555),16(RGB565), 32(ARGB888), GFDX_COLOR_DEPTH_YCbCr422, GFDX_COLOR_DEPTH_YUV422, GFDX_COLOR_DEPTH_YCbCr420P, GFDX_COLOR_DEPTH_YUV420P, GFDX_COLOR_DEPTH_YUV422P, GFDX_COLOR_DEPTH_YCbCr422P, GFDX_COLOR_DEPTH_YCbCr422R, GFDX_COLOR_DEPTH_YUV422R, GFDX_COLOR_DEPTH_YCbCr422RA, GFDX_COLOR_DEPTH_YUV422RA, */ GFDX_ATTR_BPP_WB, /** On/Off Horizontal & Vertical Pixel Doubling for Window B, Parameters: GFDXA_PIX_DBL_H, GFDXA_PIX_DBL_V or 0-Disable */ GFDX_ATTR_PIXEL_DBL_WB, /** Upscales/Downscales window */ GFDX_ATTR_SCALE_WB, /** Start Address for Window B Buffer 0 */ GFDX_ATTR_ADDR_WB_B0, /** U Start Address for Window B Buffer 0 */ GFDX_ATTR_ADDR_U_WB_B0, /** V Start Address for Window B Buffer 0 */ GFDX_ATTR_ADDR_V_WB_B0, /** Stride for Window B Buffer 0 */ GFDX_ATTR_STRIDE_WB_B0, /** UV Stride for Window B Buffer 0 */ GFDX_ATTR_STRIDE_UV_WB_B0, /** Start Address for Window B Buffer 1 */ GFDX_ATTR_ADDR_WB_B1, /** U Start Address for Window B Buffer 1 */ GFDX_ATTR_ADDR_U_WB_B1, /** V Start Address for Window B Buffer 1 */ GFDX_ATTR_ADDR_V_WB_B1, /** Stride for Window B Buffer 1 */ GFDX_ATTR_STRIDE_WB_B1, /** UV Stride for Window B Buffer 1 */ GFDX_ATTR_STRIDE_UV_WB_B1, /** Enable/Disable Windows B, Parameters: 1-Enable 0-Disable */ GFDX_ATTR_ENABLE_WB, /** Enable/Disable Buf0, Buf1, VI, GE Double Buffer (see def), Parameters: GFDXA_DB_BUF0, GFDXA_DB_BUF1, GFDXA_DB_GE, GFDXA_DB_VI, GFDXA_DB_EPP, GFDXA_DB_MPEGE, GFDXA_DB_HOST */ GFDX_ATTR_DBL_BUF_WB, /** Sets/Gets GC Rotate bits for window B, for internal use only */ GFDX_ATTR_ROTATE_BIT_WB, /** Set/Get H Direction Increment/Decrement for window B, for internal use only */ GFDX_ATTR_H_DIRECTION_WB, /** Set/Get V Direction Increment/Decrement for window B, for internal use only */ GFDX_ATTR_V_DIRECTION_WB, /** Enable/Disable Palette for WinB */ GFDX_ATTR_PALETTE_EN_WB, /** Set/Get Palette 666 R[31-24], G[23-16], B[15-8], Index[7-0] WinB */ GFDX_ATTR_PALETTE_WB, /** Set/Get Palette 888 R[31-24], G[23-16], B[15-8], Index[7-0] WinB */ GFDX_ATTR_PALETTE888_WB, /** Enable/Disable DV WinB , Parameters: GFDX_ATTR_DV_ENABLE, GFDX_ATTR_DV_DISABLE */ GFDX_ATTR_DV_CONTROL_EN_WB, /** Set/Get DV Control R[26-24], G[18-16], B[10-8] WinB */ GFDX_ATTR_DV_CONTROL_WB, /** Color Key enbled but pixel color is not in range Parameters: GFDXA_BLEND_CONTROL_NOKEY_ALPHA_WEIGHT else 0 for Fix Weight */ GFDX_ATTR_COLOR_NOKEY_WB, /** Weight0 for Color Key not match area Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT0_WB, /** Weight1 for Color Key not match area Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT1_WB, /** Color Key0 Enble/Disable for WinB Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE or GFDXA_BLEND_COLOR_KEY0_DISABLE */ GFDX_ATTR_COLOR_KEY0_1WIN_WB, /** Color Key1 Enble/Disable for WinB Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE or GFDXA_BLEND_COLOR_KEY1_DISABLE */ GFDX_ATTR_COLOR_KEY1_1WIN_WB, /** Blend Control for WinB where does not Overlap with other Window Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or 0 for Fix Weight */ GFDX_ATTR_COLOR_1WIN_WB, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_1WIN_WEIGHT0_WB, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_1WIN_WEIGHT1_WB, /** Color Key0 Enble/Disable for WinB, Overlap with WinA Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY01 else 2WIN_B_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY1 else 2WIN_B_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_A_WB, /** Color Key1 Enble/Disable for WinB, Overlap with WinA Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY01 else 2WIN_B_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY0 else 2WIN_B_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_A_WB, /** Blend Control for WinB where does not Overlap with other Window Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_A_WB, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_A_WEIGHT0_WB, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_A_WEIGHT1_WB, /** Color Key0 Enble/Disable for WinB, Overlap with WinC Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY01 else 2WIN_B_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY1 else 2WIN_B_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_C_WB, /** Color Key1 Enble/Disable for WinB, Overlap with WinC Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY01 else 2WIN_B_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_B_CKEY1 enbled then ENABLE_2WIN_B_CKEY0 else 2WIN_B_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_C_WB, /** Blend Control for WinB area that overlap with WinC only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_C_WB, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_C_WEIGHT0_WB, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_C_WEIGHT1_WB, /** Color Key0 Enble/Disable for WinB, Overlap with WinA & WinC Only Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 3WIN_BC_CKEY1 enbled then ENABLE_3WIN_BC_CKEY01 else 3WIN_BC_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 3WIN_BC_CKEY1 enbled then ENABLE_3WIN_BC_CKEY1 else 3WIN_BC_NOKEY) */ GFDX_ATTR_COLOR_KEY0_3WIN_AC_WB, /** Color Key1 Enble/Disable for WinB, Overlap with WinA & WinC Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 3WIN_BC_CKEY1 enbled then ENABLE_3WIN_BC_CKEY01 else 3WIN_BC_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 3WIN_BC_CKEY1 enbled then ENABLE_3WIN_BC_CKEY0 else 3WIN_BC_NOKEY) */ GFDX_ATTR_COLOR_KEY1_3WIN_AC_WB, /** Blend Control for WinB area that overlap with WinA & WinC only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_3WIN_AC_WB, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_3WIN_AC_WEIGHT0_WB, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_3WIN_AC_WEIGHT1_WB, /** set/gets width height together to avoid artifacts */ GFDX_ATTR_WH_WC, /** set/gets source width height together to avoid artifacts, Parameters: W[15:0], H[31:16] */ GFDX_ATTR_SRC_WH_WC, /** set/gets x, y start position of window C, Parameters: X[15:0], Y[31:16] */ GFDX_ATTR_XY_POS_WC, /** Color Depth Bits per pixel: 1,2,4,8,12,15(RGB555),16(RGB565), 32(ARGB888), GFDX_COLOR_DEPTH_YCbCr422, GFDX_COLOR_DEPTH_YUV422, GFDX_COLOR_DEPTH_YCbCr420P, GFDX_COLOR_DEPTH_YUV420P, GFDX_COLOR_DEPTH_YUV422P, GFDX_COLOR_DEPTH_YCbCr422P, GFDX_COLOR_DEPTH_YCbCr422R, GFDX_COLOR_DEPTH_YUV422R, GFDX_COLOR_DEPTH_YCbCr422RA, GFDX_COLOR_DEPTH_YUV422RA, */ GFDX_ATTR_BPP_WC, /** Set Trigger for encode window, 0- Disable, 1- Enable, 2-single Shot*/ GFDX_ATTR_TRIGGER_WENC, /** On/Off Horizontal & Vertical Pixel Doubling for Window C, Parameters: GFDXA_PIX_DBL_H, GFDXA_PIX_DBL_V or 0-Disable */ GFDX_ATTR_PIXEL_DBL_WC, /** Upscales/Downscales window */ GFDX_ATTR_SCALE_WC, /** Start Address for window C Buffer 0 */ GFDX_ATTR_ADDR_WC_B0, /** U Start Address for window C Buffer 0 */ GFDX_ATTR_ADDR_U_WC_B0, /** V Start Address for window C Buffer 0 */ GFDX_ATTR_ADDR_V_WC_B0, /** Stride for window C Buffer 0 */ GFDX_ATTR_STRIDE_WC_B0, /** UV Stride for window C Buffer 0 */ GFDX_ATTR_STRIDE_UV_WC_B0, /** Start Address for window C Buffer 1 */ GFDX_ATTR_ADDR_WC_B1, /** U Start Address for window C Buffer 1 */ GFDX_ATTR_ADDR_U_WC_B1, /** V Start Address for window C Buffer 1 */ GFDX_ATTR_ADDR_V_WC_B1, /** Stride for window C Buffer 1 */ GFDX_ATTR_STRIDE_WC_B1, /** UV Stride for window C Buffer 1 */ GFDX_ATTR_STRIDE_UV_WC_B1, /** Enable/Disable Windows C, Parameters: 1-Enable 0-Disable */ GFDX_ATTR_ENABLE_WC, /** Enable/Disable Buf0, Buf1, VI, GE Double Buffer (see def), Parameters: GFDXA_DB_BUF0, GFDXA_DB_BUF1, GFDXA_DB_GE, GFDXA_DB_VI, GFDXA_DB_EPP, GFDXA_DB_MPEGE, GFDXA_DB_HOST */ GFDX_ATTR_DBL_BUF_WC, /** Sets/Gets GC Rotate bits for window C, for internal use only */ GFDX_ATTR_ROTATE_BIT_WC, /** Set/Get H Direction Increment/Decrement for window C, for internal use only */ GFDX_ATTR_H_DIRECTION_WC, /** Set/Get V Direction Increment/Decrement for window C, for internal use only */ GFDX_ATTR_V_DIRECTION_WC, /** Enable/Disable Palette for WinC */ GFDX_ATTR_PALETTE_EN_WC, /** Set/Get Palette 666 R[31-24], G[23-16], B[15-8], Index[7-0] WinC */ GFDX_ATTR_PALETTE_WC, /** Set/Get Palette 888 R[31-24], G[23-16], B[15-8], Index[7-0] WinC */ GFDX_ATTR_PALETTE888_WC, /** Enable/Disable DV WinC, Parameters: GFDX_ATTR_DV_ENABLE, GFDX_ATTR_DV_DISABLE */ GFDX_ATTR_DV_CONTROL_EN_WC, /** Set/Get DV Control R[26-24], G[18-16], B[10-8] WinA */ GFDX_ATTR_DV_CONTROL_WC, /** Color Key enbled but pixel color is not in range Parameters: GFDXA_BLEND_CONTROL_NOKEY_ALPHA_WEIGHT else 0 for Fix Weight */ GFDX_ATTR_COLOR_NOKEY_WC, /** Weight0 for Color Key not match area Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT0_WC, /** Weight1 for Color Key not match area Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_NOKEY_WEIGHT1_WC, /** Color Key0 Enble/Disable for WinC Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE or GFDXA_BLEND_COLOR_KEY0_DISABLE */ GFDX_ATTR_COLOR_KEY0_1WIN_WC, /** Color Key1 Enble/Disable for WinC Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE or GFDXA_BLEND_COLOR_KEY1_DISABLE */ GFDX_ATTR_COLOR_KEY1_1WIN_WC, /** Blend Control for WinC where does not Overlap with other Window Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or 0 for Fix Weight */ GFDX_ATTR_COLOR_1WIN_WC, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_1WIN_WEIGHT0_WC, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_1WIN_WEIGHT1_WC, /** Color Key0 Enble/Disable for WinC, Overlap with WinA Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY01 else 2WIN_C_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY1 else 2WIN_C_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_A_WC, /** Color Key1 Enble/Disable for WinC, Overlap with WinA Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY01 else 2WIN_C_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY0 else 2WIN_C_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_A_WC, /** Blend Control for WinC area that overlap with WinA only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_A_WC, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_A_WEIGHT0_WC, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_A_WEIGHT1_WC, /** Color Key0 Enble/Disable for WinC, Overlap with WinB Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY01 else 2WIN_C_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY1 else 2WIN_C_NOKEY) */ GFDX_ATTR_COLOR_KEY0_2WIN_B_WC, /** Color Key1 Enble/Disable for WinC, Overlap with WinB Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY01 else 2WIN_C_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 2WIN_C_CKEY1 enbled then ENABLE_2WIN_C_CKEY0 else 2WIN_C_NOKEY) */ GFDX_ATTR_COLOR_KEY1_2WIN_B_WC, /** Blend Control for WinC area that overlap with WinB only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_2WIN_B_WC, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_2WIN_B_WEIGHT0_WC, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_2WIN_B_WEIGHT1_WC, /** Color Key0 Enble/Disable for WinC, Overlap with WinA & WinB Only Parameters: GFDXA_BLEND_COLOR_KEY0_ENABLE (if 3WIN_AB_CKEY1 enbled then ENABLE_3WIN_AB_CKEY01 else 3WIN_AB_CKEY0) GFDXA_BLEND_COLOR_KEY0_DISABLE (if 3WIN_AB_CKEY1 enbled then ENABLE_3WIN_AB_CKEY1 else 3WIN_AB_NOKEY) */ GFDX_ATTR_COLOR_KEY0_3WIN_AB_WC, /** Color Key1 Enble/Disable for WinC, Overlap with WinA & WinB Parameters: GFDXA_BLEND_COLOR_KEY1_ENABLE (if 3WIN_AB_CKEY1 enbled then ENABLE_3WIN_AB_CKEY01 else 3WIN_AB_CKEY1) GFDXA_BLEND_COLOR_KEY1_DISABLE (if 3WIN_AB_CKEY1 enbled then ENABLE_3WIN_AB_CKEY0 else 3WIN_AB_NOKEY) */ GFDX_ATTR_COLOR_KEY1_3WIN_AB_WC, /** Blend Control for WinC area that overlap with WinA & WinB only Parameters: GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT or GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT or 0 for FIX WEIGHT */ GFDX_ATTR_COLOR_3WIN_AB_WC, /** Win Blend Weight0 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 0 uses Weight0 Parameters: Weight0 value[7:0], if 1-bit Alpha Weight0 value = 0 */ GFDX_ATTR_COLOR_3WIN_AB_WEIGHT0_WC, /** Win Blend Weight1 for CKey disabled or CKey enabled w key match area or 1-bit Alpha, Alpha 1 uses Weight1 Parameters: Weight1 value[7:0], if 1-bit Alpha Weight1 value = 1 */ GFDX_ATTR_COLOR_3WIN_AB_WEIGHT1_WC, /** GC Color Key for overlay, Not supported */ GFDX_ATTR_COLOR_KEY, /** GC Color Key Mask for overlay, Not supported */ GFDX_ATTR_COLOR_KEY_MASK, /** Set overlap type (see def), Not supported */ GFDX_ATTR_OVERLAP_TYPE, /** Gets VDisplay End for GE Start Window programming, Not supported */ GFDX_ATTR_V_DISPLAY_END, /** Gets range for clock divider L=0:H=15 */ GFDX_ATTR_PWM0_CLK_RANGE, /** Gets range for duty cycle L=0:H=255 */ GFDX_ATTR_PWM0_DTY_RANGE, /** Controls Backlight0 clock divider for PWM0 Bits[5:0] */ GFDX_ATTR_PWM0_CLOCK, /** Controls Backlight0 duty cycle for PWM0 Bits[7:0] */ GFDX_ATTR_PWM0_DUTYCY, /** Gets range for clock divider L=0:H=15 */ GFDX_ATTR_PWM1_CLK_RANGE, /** Gets range for duty cycle L=0:H=255 */ GFDX_ATTR_PWM1_DTY_RANGE, /** Controls Backlight1 clock divider for PWM1 Bits[5:0] */ GFDX_ATTR_PWM1_CLOCK, /** Controls Backlight1 duty cycle for PWM1 Bits[7:0] */ GFDX_ATTR_PWM1_DUTYCY, /** LCD Type 0-Main Lcd, 1-Sub Lcd */ GFDX_ATTR_DISP_TYPE, /** SW register 1 for program usage */ GFDX_ATTR_SW_REG_1, /** SW register 2 for program usage */ GFDX_ATTR_SW_REG_2, /** set/gets width height of screen encode window, Parameters: W[15:0], H[31:16] */ GFDX_ATTR_WH_WENC, /** set/gets x, y start position of screen encode window, Parameters: X[15:0], Y[31:16] */ GFDX_ATTR_XY_POS_WENC, /** Enable/Disable screen encode window. Parameters: 1-Enable 0-Disable. * Please note that this sets the encode rate to its maximum value of * 1.000 so if you plan to change it after enabling, * use attribute GFDX_ATTR_WENC_RATE. */ GFDX_ATTR_ENABLE_WENC, /** Get Device ID & Rev, Not supported */ GFDX_ATTR_DEVICE_INFO, /** Enable CRC, Set Wait 1 or 2 VSync Parameters: GFDXA_CRC_WAIT_VSYNC1, GFDXA_CRC_WAIT_VSYNC2, GFDXA_CRC_DISABLE */ GFDX_ATTR_CRC_ENABLE, /** Get Check Sum */ GFDX_ATTR_CRC_CHECK_SUM, /** Not supported, Not supported */ GFDX_ATTR_HC_SHAPE, /** load Hardware Cursor Image, Not supported */ GFDX_ATTR_HC_SHAPE_EXT, /** set cursor hot spot, Not supported */ GFDX_ATTR_HC_HOTSPOT, /** set foreground and background color, Not supported */ GFDX_ATTR_HC_COLOR, /** Set Hardware Cursor new Position, Not supported */ GFDX_ATTR_HC_POSITION, /** Enable, Disable Hardware Cursor, Not supported */ GFDX_ATTR_HC_SHOW, /** free internal buffer, Not supported */ GFDX_ATTR_HC_RELEASE, /** Set Start or Stop Frame Parameters: GFDX_MAIN_START, GFDX_MAIN_STOP, GFDX_SUB_START, GFDX_SUB_STOP */ GFDX_ATTR_STOP_START, /** Set Start or Stop Frame Parameters: GFDX_MAIN_ONE_FRAME, GFDX_SUB_ONE_FRAME */ GFDX_ATTR_SEND_ONE_FRAME, /** Set No change */ GFDX_ATTR_NOCHANGE, /** Get Pre Init LCD Resolution Bit[0-15] Width, Bit[16-31] Height*/ GFDX_ATTR_PRE_INIT_LCD_RES, /** NVIDIA panel index internal to API use */ GFDX_ATTR_INTERNAL_LCDTYPE, /** Setting this attribute will bypass any hardware writes in DxAPI which go through * the GFDX_CHANNEL_xx macros. The runtime environment GFSDK_DXINIT_BYPASS uses * this attribue to disable hardware writes during DxSetDisplay(). * Parameters: GFDX_SET_WRITE_SHADOW or GFDX_CLR_WRITE_SHADOW */ GFDX_ATTR_WRITE_SHADOW_ONLY, /** Backlight0 ON GPIO LPW2 Low */ GFDX_ATTR_BACKLIGHT0_ON, /** Backlight1 ON GPIO LM1 Low */ GFDX_ATTR_BACKLIGHT1_ON, /** Backlight0 OFF GPIO LPW2 High */ GFDX_ATTR_BACKLIGHT0_OFF, /** Backlight1 OFF GPIO LM1 High*/ GFDX_ATTR_BACKLIGHT1_OFF, /** configure BACKLIGHT0 as GPIO on LPW2*/ GFDX_ATTR_BACKLIGHT0_CONFIGURE_GPIO, /** configure BACKLIGHT1 as GPIO on LM1*/ GFDX_ATTR_BACKLIGHT1_CONFIGURE_GPIO, /** configure BACKLIGHT0 as PWM on LPW2*/ GFDX_ATTR_BACKLIGHT0_CONFIGURE_PWM, /** configure BACKLIGHT1 as PWM on LM1 */ GFDX_ATTR_BACKLIGHT1_CONFIGURE_PWM, /** Set Stop Frame Options, Parameters: GFDX_MAIN_STOP_POLARITY_HIGH, GFDX_MAIN_STOP_POLARITY_LOW, GFDX_SUB_STOP_POLARITY_HIGH GFDX_SUB_STOP_POLARITY_LOW, GFDX_MAIN_STOP_INPUT_PIN_ENABLE, GFDX_MAIN_STOP_INPUT_PIN_DISABLE, GFDX_SUB_STOP_INPUT_PIN_ENABLE, GFDX_SUB_STOP_INPUT_PIN_DISABLE, GFDX_STOP_WINDOW_A_NC_ENABLE, GFDX_STOP_WINDOW_A_NC_DISABLE, GFDX_STOP_WINDOW_B_NC_ENABLE, GFDX_STOP_WINDOW_B_NC_DISABLE, GFDX_STOP_WINDOW_B_NC_ENABLE, GFDX_STOP_WINDOW_B_NC_DISABLE */ GFDX_ATTR_STOP_FRAME_OPTIONS, /** Set Non Continuos Display */ GFDX_ATTR_NC_DISPLAY, /** Horizontal and Vertical Filter Support Window B Parameters: GFDX_H_FILTER_ENABLE, GFDX_H_FILTER_DISABLE, GFDX_V_FILTER_ENABLE, GFDX_V_FILTER_DISABLE */ GFDX_ATTR_H_V_FILTER_WB, /** Horizontal and Vertical Filter Support Window C Parameters: GFDX_H_FILTER_ENABLE, GFDX_H_FILTER_DISABLE, GFDX_V_FILTER_ENABLE, GFDX_V_FILTER_DISABLE */ GFDX_ATTR_H_V_FILTER_WC, /** Get Supported Display Script Options Parameters: GFDX_DEFAULT_TABLE, GFDX_DXAPI_SUPPORT, GFDX_FMARK_SUPPORT */ GFDX_ATTR_DISPLAY_SCRIPT_OPTIONS, /** Rate of window decode output frames when sending continuously. * please note that the rate is overwritten with the maximum value (i.e. 1.000 * which is represented by a fixed point fraction 16.16) if you use attribute * GFDX_ATTR_ENABLE_WENC, so you need to overwrite with this attribute. * Parameters: any number between 0x0 and 0x10000 (i.e. 0.0 an 1.000) */ GFDX_ATTR_WENC_RATE } GFDXATTRIBUTES; // Stop Frame Options #define GFDX_MAIN_STOP_POLARITY_HIGH 0x00000001 #define GFDX_MAIN_STOP_POLARITY_LOW 0x80000001 #define GFDX_MAIN_STOP_INPUT_PIN_ENABLE 0x00000002 #define GFDX_MAIN_STOP_INPUT_PIN_DISABLE 0x80000002 #define GFDX_SUB_STOP_POLARITY_HIGH 0x00000004 #define GFDX_SUB_STOP_POLARITY_LOW 0x80000004 #define GFDX_SUB_STOP_INPUT_PIN_ENABLE 0x00000006 #define GFDX_SUB_STOP_INPUT_PIN_DISABLE 0x80000006 #define GFDX_STOP_WINDOW_A_NC_ENABLE 0x00000010 #define GFDX_STOP_WINDOW_A_NC_DISABLE 0x80000010 #define GFDX_STOP_WINDOW_B_NC_ENABLE 0x00000011 #define GFDX_STOP_WINDOW_B_NC_DISABLE 0x80000011 #define GFDX_STOP_WINDOW_C_NC_ENABLE 0x00000012 #define GFDX_STOP_WINDOW_C_NC_DISABLE 0x80000012 // Horizontal and Vertical Filter Support Window B & C #define GFDX_H_FILTER_ENABLE 0x00000100 #define GFDX_H_FILTER_DISABLE 0x80000100 #define GFDX_V_FILTER_ENABLE 0x00004000 #define GFDX_V_FILTER_DISABLE 0x80004000 #define GFDX_V_FILTER_OPTIMIZE_ENABLE 0x00010000 #define GFDX_V_FILTER_OPTIMIZE_DISABLE 0x80010000 // Display Script Options #define GFDX_DEFAULT_TABLE 0x00000001 #define GFDX_DXAPI_SUPPORT 0x00000002 #define GFDX_FMARK_SUPPORT 0x00000004 /** Attribute value for GFDX_ATTR_WRITE_SHADOW_ONLY. * Setting this attribute will disable all channel hardware writes in DxAPI. * The runtime environment GFSDK_DXINIT_BYPASS uses this attribue to disable * hardware writes in DxSetDisplay(). */ #define GFDX_SET_WRITE_SHADOW 0x00000001 /** Attribute value for GFDX_ATTR_WRITE_SHADOW_ONLY. * This attribute is used to clear the effect of #GFDX_SET_WRITE_SHADOW. * It must be used explicitly to re-enable hardware writes in DxAPI. */ #define GFDX_CLR_WRITE_SHADOW 0x80000001 #define GFDX_COLOR_DEPTH_YCbCr422 (16UL | 0x80000000) #define GFDX_COLOR_DEPTH_YUV422 (17UL | 0x80000000) #define GFDX_COLOR_DEPTH_YCbCr420P (18UL | 0x80000000) #define GFDX_COLOR_DEPTH_YUV420P (19UL | 0x80000000) #define GFDX_COLOR_DEPTH_YCbCr422P (20UL | 0x80000000) #define GFDX_COLOR_DEPTH_YUV422P (21UL | 0x80000000) #define GFDX_COLOR_DEPTH_YCbCr422R (22UL | 0x80000000) #define GFDX_COLOR_DEPTH_YUV422R (23UL | 0x80000000) #define GFDX_COLOR_DEPTH_YCbCr422RA (24UL | 0x80000000) #define GFDX_COLOR_DEPTH_YUV422RA (25UL | 0x80000000) #define GFDX_SWAP_MASK 0x000f0000 #define GFDX_NO_SWAP 0x00000000 #define GFDX_BYTE_SWAP 0x00010000 #define GFDX_ORDER_SWAP 0x00020000 #define GFDX_WORD_SWAP 0x00030000 #define GFDX_COLOR_DEPTH_YUV422_YVYU (17UL | 0x80000000 | GFDX_NO_SWAP) #define GFDX_COLOR_DEPTH_YUV422_VYUY (17UL | 0x80000000 | GFDX_BYTE_SWAP) #define GFDX_COLOR_DEPTH_YUV422_UYVY (17UL | 0x80000000 | GFDX_ORDER_SWAP) #define GFDX_COLOR_DEPTH_YUV422_YUYV (17UL | 0x80000000 | GFDX_WORD_SWAP) #define GFDX_COLOR_DEPTH_YCbCr422_YVYU (16UL | 0x80000000 | GFDX_NO_SWAP) #define GFDX_COLOR_DEPTH_YCbCr422_VYUY (16UL | 0x80000000 | GFDX_BYTE_SWAP) #define GFDX_COLOR_DEPTH_YCbCr422_UYVY (16UL | 0x80000000 | GFDX_ORDER_SWAP) #define GFDX_COLOR_DEPTH_YCbCr422_YUYV (16UL | 0x80000000 | GFDX_WORD_SWAP) // Horizontal Filter Coefficients #define GF_H_P00C0 0x0 #define GF_H_P00C1 (0x0 << 3 ) #define GF_H_P00C2 (0x80 << 8 ) #define GF_H_P00C3 (0x0 << 16) #define GF_H_P00C4 (0x0 << 24) #define GF_H_P00C5 (0x0 << 29) #define GF_H_P00CX GF_H_P00C0|GF_H_P00C1|GF_H_P00C2|GF_H_P00C3|GF_H_P00C4|GF_H_P00C5 #define GF_H_P01C0 0x1 #define GF_H_P01C1 (0x1c << 3 ) #define GF_H_P01C2 (0x7c << 8 ) #define GF_H_P01C3 (0x8 << 16) #define GF_H_P01C4 (0x1e << 24) #define GF_H_P01C5 (0x1 << 29) #define GF_H_P01CX GF_H_P01C0|GF_H_P01C1|GF_H_P01C2|GF_H_P01C3|GF_H_P01C4|GF_H_P01C5 #define GF_H_P02C0 0x1 #define GF_H_P02C1 (0x18 << 3 ) #define GF_H_P02C2 (0x7a << 8 ) #define GF_H_P02C3 (0x11 << 16) #define GF_H_P02C4 (0x1b << 24) #define GF_H_P02C5 (0x1 << 29) #define GF_H_P02CX GF_H_P02C0|GF_H_P02C1|GF_H_P02C2|GF_H_P02C3|GF_H_P02C4|GF_H_P02C5 #define GF_H_P03C0 0x2 #define GF_H_P03C1 (0x15 << 3 ) #define GF_H_P03C2 (0x73 << 8 ) #define GF_H_P03C3 (0x1b << 16) #define GF_H_P03C4 (0x19 << 24) #define GF_H_P03C5 (0x2 << 29) #define GF_H_P03CX GF_H_P03C0|GF_H_P03C1|GF_H_P03C2|GF_H_P03C3|GF_H_P03C4|GF_H_P03C5 #define GF_H_P04C0 0x2 #define GF_H_P04C1 (0x13 << 3 ) #define GF_H_P04C2 (0x6d << 8 ) #define GF_H_P04C3 (0x25 << 16) #define GF_H_P04C4 (0x17 << 24) #define GF_H_P04C5 (0x2 << 29) #define GF_H_P04CX GF_H_P04C0|GF_H_P04C1|GF_H_P04C2|GF_H_P04C3|GF_H_P04C4|GF_H_P04C5 #define GF_H_P05C0 0x3 #define GF_H_P05C1 (0x11 << 3 ) #define GF_H_P05C2 (0x66 << 8 ) #define GF_H_P05C3 (0x2f << 16) #define GF_H_P05C4 (0x15 << 24) #define GF_H_P05C5 (0x2 << 29) #define GF_H_P05CX GF_H_P05C0|GF_H_P05C1|GF_H_P05C2|GF_H_P05C3|GF_H_P05C4|GF_H_P05C5 #define GF_H_P06C0 0x3 #define GF_H_P06C1 (0x11 << 3 ) #define GF_H_P06C2 (0x5e << 8 ) #define GF_H_P06C3 (0x38 << 16) #define GF_H_P06C4 (0x13 << 24) #define GF_H_P06C5 (0x3 << 29) #define GF_H_P06CX GF_H_P06C0|GF_H_P06C1|GF_H_P06C2|GF_H_P06C3|GF_H_P06C4|GF_H_P06C5 #define GF_H_P07C0 0x3 #define GF_H_P07C1 (0x10 << 3 ) #define GF_H_P07C2 (0x55 << 8 ) #define GF_H_P07C3 (0x43 << 16) #define GF_H_P07C4 (0x12 << 24) #define GF_H_P07C5 (0x3 << 29) #define GF_H_P07CX GF_H_P07C0|GF_H_P07C1|GF_H_P07C2|GF_H_P07C3|GF_H_P07C4|GF_H_P07C5 #define GF_H_P08C0 0x3 #define GF_H_P08C1 (0x11 << 3 ) #define GF_H_P08C2 (0x4c << 8 ) #define GF_H_P08C3 (0x4c << 16) #define GF_H_P08C4 (0x11 << 24) #define GF_H_P08C5 (0x3 << 29) #define GF_H_P08CX GF_H_P08C0|GF_H_P08C1|GF_H_P08C2|GF_H_P08C3|GF_H_P08C4|GF_H_P08C5 #define GF_H_P09C0 0x3 #define GF_H_P09C1 (0x12 << 3 ) #define GF_H_P09C2 (0x43 << 8 ) #define GF_H_P09C3 (0x55 << 16) #define GF_H_P09C4 (0x10 << 24) #define GF_H_P09C5 (0x3 << 29) #define GF_H_P09CX GF_H_P09C0|GF_H_P09C1|GF_H_P09C2|GF_H_P09C3|GF_H_P09C4|GF_H_P09C5 #define GF_H_P0AC0 0x3 #define GF_H_P0AC1 (0x13 << 3 ) #define GF_H_P0AC2 (0x38 << 8 ) #define GF_H_P0AC3 (0x5e << 16) #define GF_H_P0AC4 (0x11 << 24) #define GF_H_P0AC5 (0x3 << 29) #define GF_H_P0ACX GF_H_P0AC0|GF_H_P0AC1|GF_H_P0AC2|GF_H_P0AC3|GF_H_P0AC4|GF_H_P0AC5 #define GF_H_P0BC0 0x2 #define GF_H_P0BC1 (0x15 << 3 ) #define GF_H_P0BC2 (0x2f << 8 ) #define GF_H_P0BC3 (0x66 << 16) #define GF_H_P0BC4 (0x11 << 24) #define GF_H_P0BC5 (0x3 << 29) #define GF_H_P0BCX GF_H_P0BC0|GF_H_P0BC1|GF_H_P0BC2|GF_H_P0BC3|GF_H_P0BC4|GF_H_P0BC5 #define GF_H_P0CC0 0x2 #define GF_H_P0CC1 (0x17 << 3 ) #define GF_H_P0CC2 (0x25 << 8 ) #define GF_H_P0CC3 (0x6d << 16) #define GF_H_P0CC4 (0x13 << 24) #define GF_H_P0CC5 (0x2 << 29) #define GF_H_P0CCX GF_H_P0CC0|GF_H_P0CC1|GF_H_P0CC2|GF_H_P0CC3|GF_H_P0CC4|GF_H_P0CC5 #define GF_H_P0DC0 0x2 #define GF_H_P0DC1 (0x19 << 3 ) #define GF_H_P0DC2 (0x1b << 8 ) #define GF_H_P0DC3 (0x73 << 16) #define GF_H_P0DC4 (0x15 << 24) #define GF_H_P0DC5 (0x2 << 29) #define GF_H_P0DCX GF_H_P0DC0|GF_H_P0DC1|GF_H_P0DC2|GF_H_P0DC3|GF_H_P0DC4|GF_H_P0DC5 #define GF_H_P0EC0 0x1 #define GF_H_P0EC1 (0x1b << 3 ) #define GF_H_P0EC2 (0x11 << 8 ) #define GF_H_P0EC3 (0x7a << 16) #define GF_H_P0EC4 (0x18 << 24) #define GF_H_P0EC5 (0x1 << 29) #define GF_H_P0ECX GF_H_P0EC0|GF_H_P0EC1|GF_H_P0EC2|GF_H_P0EC3|GF_H_P0EC4|GF_H_P0EC5 #define GF_H_P0FC0 0x1 #define GF_H_P0FC1 (0x1e << 3 ) #define GF_H_P0FC2 (0x8 << 8 ) #define GF_H_P0FC3 (0x7c << 16) #define GF_H_P0FC4 (0x1c << 24) #define GF_H_P0FC5 (0x1 << 29) #define GF_H_P0FCX GF_H_P0FC0|GF_H_P0FC1|GF_H_P0FC2|GF_H_P0FC3|GF_H_P0FC4|GF_H_P0FC5 // Vertical Filter Coefficients #define GF_V_P00C0 0x80 #define GF_V_P01C0 0x78 #define GF_V_P02C0 0x70 #define GF_V_P03C0 0x68 #define GF_V_P04C0 0x60 #define GF_V_P05C0 0x58 #define GF_V_P06C0 0x50 #define GF_V_P07C0 0x48 #define GF_V_P08C0 0x40 #define GF_V_P09C0 0x38 #define GF_V_P0AC0 0x30 #define GF_V_P0BC0 0x28 #define GF_V_P0CC0 0x20 #define GF_V_P0DC0 0x18 #define GF_V_P0EC0 0x10 #define GF_V_P0FC0 0x8 /** Hardware Cursor definition */ typedef struct _HC_COLOR { NvU32 foreground; NvU32 background; } HC_COLOR, *PHC_COLOR; typedef struct _HC_POSITION { NvU32 x; NvU32 y; } HC_POSITION, *PHC_POSITION; typedef struct _HC_HOTSPOT { NvU32 x; NvU32 y; } HC_HOTSPOT, *PHC_HOTSPOT; enum { CD64X64, CD32X32 }; typedef struct _HC_MASK { NvU32 *data; NvU32 size; NvU32 dimension; } HC_MASK, *PHC_MASK; typedef struct _DisplayTimingEntry { /** Horizontal Ref. Need not to be changed, set 0 for default setting */ NvU16 usHRef; /** Vertical Ref. Need not to be changed, set 0 for default setting */ NvU16 usVRef; /** Horizontal Sync Width, set 0 for default setting */ NvU16 usHSyncWidth; /** Vertical Sync Width, set 0 for default setting */ NvU16 usVSyncWidth; /** Horizontal Back Porch, set 0 for default setting */ NvU16 usHBackPorch; /** Vertical Back Porch, set 0 for default setting */ NvU16 usVBackPorch; /** Horizontal Active, Set same as Window Width */ NvU16 usHActive; /** Vertical Active, Set same as Window Height */ NvU16 usVActive; /** Horizontal Total, set 0 for default setting */ NvU16 usHTotal; /** Vertical Total, set 0 for default setting */ NvU16 usVTotal; /** Window Width */ NvU16 usPanelVX; /** Window Height */ NvU16 usPanelVY; /** Window Start X Position */ NvU16 usPosX; /** Window Start Y Position */ NvU16 usPosY; /** Window Sel 0-WinA (GFDX_DISPTMG_SEL_WINA), 1-WinB (GFDX_DISPTMG_SEL_WINB) */ NvU16 SelWin; NvU16 Reserved1; NvU16 Reserved2; NvU16 Reserved3; } DISPLAYTIMINGENTRY, *PDISPLAYTIMINGENTRY; // Display Timing #define GFDX_DISPTMG_SEL_WINA 0 #define GFDX_DISPTMG_SEL_WINB 1 /** redefine some of the constants for compatibility */ #define GFDX_ATTR_WIDTH_HEIGHT GFDX_ATTR_WH_WA #define GFDX_ATTR_XY_POSITION GFDX_ATTR_XY_POS_WA #define GFDX_ATTR_BPP GFDX_ATTR_BPP_WA #define GFDX_ATTR_PIXEL_DOUBLE GFDX_ATTR_PIXEL_DBL_WA #define GFDX_ATTR_STARTADDR GFDX_ATTR_ADDR_WA_B0 #define GFDX_ATTR_STRIDE GFDX_ATTR_STRIDE_WA_B0 /** definition of GFDX_ATTR_PIXEL_DOUBLE */ #define GFDXA_PIX_DBL_H 0x01 /* Horizontal pixel doubling on */ #define GFDXA_PIX_DBL_V 0x02 /* Vertical pixel doubling on */ /** definition of GFDX_ATTR_DOUBLE_BUF control (0,2,1,3 is same as hw) */ #define GFDXA_DB_BUF0 0x00 /* GC display buffer address is from buf0 */ #define GFDXA_DB_BUF1 0x02 /* GC display buffer address is from buf1 */ #define GFDXA_DB_HOST 0x06 /* GC display buffer address is from Host */ #define GFDXA_DB_GE 0x01 /* GC display buffer address is from GE */ #define GFDXA_DB_VI 0x03 /* GC display buffer address is from VI */ #define GFDXA_DB_EPP 0x04 #define GFDXA_DB_MPEGE 0x05 /** definition of GFDX_ATTR_ROTATE_BIT_W? */ #define GFDXA_ROTATE_BITS_0 0x00000000 // no rotation, x+,y+,startAddr = 0 #define GFDXA_ROTATE_BITS_90 0x00000500 // +90 (anti-clock), x-, y+, start= stride-3 (TL) #define GFDXA_ROTATE_BITS_180 0x00000300 // +180(anti-clock), x-, y-, start= height*stride-3 (BR) #define GFDXA_ROTATE_BITS_270 0x00000600 // +270(anti-clock), x+, y-, start= (height-1)*stride (BL) /** definition of Color Key and Alpha Blending*/ #define GFDXA_BLEND_CONTROL_NOKEY_ALPHA_WEIGHT 0x00000001 #define GFDXA_BLEND_COLOR_KEY0_ENABLE 0x00000001 #define GFDXA_BLEND_COLOR_KEY1_ENABLE 0x00000002 #define GFDXA_BLEND_COLOR_KEY0_DISABLE 0x00000000 #define GFDXA_BLEND_COLOR_KEY1_DISABLE 0x00000000 #define GFDXA_BLEND_CONTROL_nWIN_ALPHA_WEIGHT 0x00000004 #define GFDXA_BLEND_CONTROL_nWIN_DEPENDENT_WEIGHT 0x00000008 /** Disable CRC capture. */ #define GFDXA_CRC_DISABLE 0x00000000 /** Wait for 1 VSYNC and capture CRC for one frame. */ #define GFDXA_CRC_WAIT_VSYNC1 0x00000001 /** Wait for 2 VSYNC and capture CRC for one frame. */ #define GFDXA_CRC_WAIT_VSYNC2 0x00000003 /** Set Direction for Rotation*/ #define GFDX_ATTR_H_DIRECTION_DECREMENT 0x00000001 #define GFDX_ATTR_H_DIRECTION_INCREMENT 0x00000000 #define GFDX_ATTR_V_DIRECTION_DECREMENT 0x00000004 #define GFDX_ATTR_V_DIRECTION_INCREMENT 0x00000000 /** definition of Palette Enable/Disable*/ #define GFDX_ATTR_PALETTE_ENABLE 0x00010000 #define GFDX_ATTR_PALETTE_DISABLE 0x00000000 #define GFDX_ATTR_DV_ENABLE 0x00100000 #define GFDX_ATTR_DV_DISABLE 0x00000000 #define GFDX_ATTR_WENC_DISABLE 0x00000000 #define GFDX_ATTR_WENC_ENABLE 0x00000001 #define GFDX_ATTR_WENC_TRIG_DISABLE 0x00000000 #define GFDX_ATTR_WENC_TRIG_ENABLE 0x00000001 #define GFDX_ATTR_WENC_TRIG_ONE_SHOT 0x00000002 /** Read CRC Check Sum */ #define GFDXA_CRC_READ_CHECK_SUM 0x00000001 /** Sub-LCD support */ #define LCD_MAIN 0 #define LCD_SUB 1 #define MAX_LCD 2 /** Start-Stop Frame support */ #define GFDX_MAIN_START 0x00000001 #define GFDX_MAIN_STOP 0x00000002 #define GFDX_SUB_START 0x00000003 #define GFDX_SUB_STOP 0x00000004 #define GFDX_MAIN_ONE_FRAME 0x00000001 #define GFDX_SUB_ONE_FRAME 0x00000002 #define GF_DISPLAY_NORMAL 0x00000000 #define GF_DISPLAY_PARTIAL 0x00000001 #ifdef PROJECT_SEC_G1 #define GF_DISPLAY_NTSC_V570 0x00000002 #define GF_DISPLAY_NTSC_V490 0x00000003 #define GF_DISPLAY_NTSC_V700 0x00000004 #define GF_DISPLAY_PAL 0x00000005 #endif /** DxEnableDisplay support */ #define GF_PANEL_DRV_ONOFF 0x00000100 #define GF_PANEL_DRV_SLP_WKUP 0x00000200 /** Clock selections, profile and options */ #define GFDX_OSC 0x00000001 #define GFDX_ROSC 0x00000002 #define GFDX_PLL1 0x00000003 #define GFDX_PLL_QUERY 0x80000000 #define GFDX_POWER 0x00010000 #define GFDX_PERFORMANCE 0x00020000 /** Option for GFDxVSync: Waits until vertical blank (default). */ #define GFDX_VSYNC_WAIT 0x0000 /** Option for GFDxVSync: Checks and immediately returns vertical blank status. Returns GF_SUCCESS if in vertical blank, else returns GF_ERROR. */ #define GFDX_VSYNC_CHECK 0x0001 /** Option for GFDxVSync: Puts Wait token in the command FIFO and the CPU returns immediately. Uses FRAME_END interrupt bit. */ #define GFDX_VSYNC_HW_WAIT 0x0002 /** Option for GFDxVSync: Raise and wait in the command fifo for VBLANK. */ #define GFDX_VBLANK_HW_WAIT 0x0003 /** Option for GFDxVSync: Raise and wait in the command fifo for VPULSE3. */ #define GFDX_VPULSE3_HW_WAIT 0x0004 /** Dx Hardware has multiple windows (some registers are replicated per window - the window must be exlicitly selected to write to the correct register in the window). Use this enum to select which window to write to for APIs that support this - window selection is mostly done through the attribute name, eg: _WA, _WB, etc. */ typedef enum _GFDXWINDOWSELECT { DX_WINDOW_SELECT_NONE = 0, DX_WINDOW_SELECT_NORMAL = 1, /* all windows */ DX_WINDOW_SELECT_A = 2, DX_WINDOW_SELECT_B = 4, DX_WINDOW_SELECT_C = 8 } GFDXWINDOWSELECT; /** Color Space Conversion coefficients. Use GFDxSetCSCCoeff() and GFDxGetCSCCoeff() to write/read the coefficients to/from hardware. */ typedef struct _GFDXCSCCOEFF { NvU32 YOF; NvU32 KYRGB; NvU32 KUR; NvU32 KVR; NvU32 KUG; NvU32 KVG; NvU32 KUB; NvU32 KVB; } GFDXCSCCOEF; typedef struct _DXSCRIPTCMD { NvU32 ScriptCmdType; /** Script Command */ NvU32 DataBurstCount; /** Burst count 0-255, not Valid for GFSCMD */ NvU32 PanelDriverCmd; /** Valid Only if ScriptCmdType = GFPDRV_CMD */ NvU32 *PanelIndexData; /** Data pointer */ NvU32 GFData; /** Valid only if ScriptCmdType is GFSCMD */ NvU32 reserved1; } DXSCRIPTCMD, *PDXSCRIPTCMD; typedef struct _GFLCDTABLE { /** For usage see GFDxSetDisplay()*/ GF_RETTYPE (* DxSetDisplay)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 ulStride, unsigned bpp); /** For usage see GFDxEnableDisplay()*/ GF_RETTYPE (* DxEnableDisplay)(GFDxHandle DxHandle, int lcdSel, unsigned bOn); /** For usage see GFDxSetAttribute()*/ GF_RETTYPE (* DxSetAttribute)(GFDxHandle DxHandle, int lcdSel, unsigned aid, NvU32 attr); /** For usage see GFDxGetAttribute()*/ GF_RETTYPE (* DxGetAttribute)(GFDxHandle DxHandle, int lcdSel, unsigned aid, NvU32 *attr); /** For usage see GFDxSetAttributeWithCS()*/ GF_RETTYPE (* DxSetAttributeWithCS)(GFDxHandle DxHandle, int lcdSel, unsigned aid, NvU32 attr); /** For usage see GFDxGetAttributeWithCS()*/ GF_RETTYPE (* DxGetAttributeWithCS)(GFDxHandle DxHandle, int lcdSel, unsigned aid, NvU32 *attr); /** For usage see GFDxRotate()*/ GF_RETTYPE (* DxRotate)(GFDxHandle DxHandle, int lcdSel, unsigned nRotate, NvU32 ulStartAddr); /** For usage see GFDxErase()*/ GF_RETTYPE (* DxErase)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 color); /** For usage see GFDxSwitchLCD()*/ GF_RETTYPE (* DxSwitchLCD)(GFDxHandle DxHandle, int lcdSel, int Option); /** LCD Configurations */ void * pLcdConfig; /** For usage see GFDxScriptCmd()*/ GF_RETTYPE (* DxScriptCmd)(GFDxHandle DxHandle, int lcdSel, PDXSCRIPTCMD pDxScriptCmd, NvU32 Option); /** For usage see GFDxScriptCmdWithCS()*/ GF_RETTYPE (* DxScriptCmdWithCS)(GFDxHandle DxHandle, int lcdSel, PDXSCRIPTCMD pDxScriptCmd, NvU32 Option); /** For usage see GFDxDisplayTiming()*/ GF_RETTYPE (* DxDisplayTiming)(GFDxHandle DxHandle, int lcdSel, PDISPLAYTIMINGENTRY pDxTiming, NvU32 Option); /** For usage see GFDxDisplayTimingWithCS()*/ GF_RETTYPE (* DxDisplayTimingWithCS)(GFDxHandle DxHandle, int lcdSel, PDISPLAYTIMINGENTRY pDxTiming, NvU32 Option); /** For usage see GFDxSetDisplayEx()*/ GF_RETTYPE (* DxSetDisplayEx)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 ulStride, unsigned bpp, unsigned bOn); } GFLCDTABLE; /* Publicly exposed DX API function table */ typedef struct _GFDXTABLE { /** For usage see GFDxGetProperty()*/ GF_RETTYPE (* DxGetProperty)(GFDxHandle DxHandle, PGFDXPROPERTY pDxProp); /** For usage see GFDxVSync()*/ GF_RETTYPE (* DxVSync)(GFDxHandle DxHandle, NvU16 option); /** For usage see GFDxSetDisplayWithCS()*/ GF_RETTYPE (* DxSetDisplayWithCS)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 ulStride, unsigned bpp); /** For usage see GFDxEnableDisplayWithCS()*/ GF_RETTYPE (* DxEnableDisplayWithCS)(GFDxHandle DxHandle, int lcdSel, unsigned bOn); // Removed to make the WinCE dll binary compatible with SC4 dll. // GF_RETTYPE (* DxHSync)(GFDxHandle DxHandle, NvU16 option); /** For per LCD functions. ()*/ GFLCDTABLE Lcd[MAX_LCD]; /** For usage see GFDxEraseWithCS()*/ GF_RETTYPE (* DxEraseWithCS)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 color); /** For usage see GFDxSetCSCCoeff()*/ GF_RETTYPE (* DxSetCSCCoeff)( GFDxHandle DxHandle, GFDXWINDOWSELECT window, GFDXCSCCOEF *coef ); /** For usage see GFDxGetCSCCoeff()*/ GF_RETTYPE (* DxGetCSCCoeff)( GFDxHandle DxHandle, GFDXWINDOWSELECT window, GFDXCSCCOEF *coef ); /** For usage see GFDxVSyncWithCS()*/ GF_RETTYPE (* DxVSyncWithCS)(GFDxHandle DxHandle, NvU16 option); /** For usage see GFDxSetCSCCoeffWithCS()*/ GF_RETTYPE (* DxSetCSCCoeffWithCS)( GFDxHandle DxHandle, GFDXWINDOWSELECT window, GFDXCSCCOEF *coef ); /** For usage see GFDxGetCSCCoeffWithCS()*/ GF_RETTYPE (* DxGetCSCCoeffWithCS)( GFDxHandle DxHandle, GFDXWINDOWSELECT window, GFDXCSCCOEF *coef ); /** For usage see GFDxSetDisplayExWithCS()*/ GF_RETTYPE (* DxSetDisplayExWithCS)(GFDxHandle DxHandle, int lcdSel, NvU32 ulStartAddr, NvU32 ulStride, unsigned bpp, unsigned bOn); } GFDXTABLE, *PGFDXTABLE; /** Filter coefficients */ typedef struct GFDxHorizontalFilter_t { NvU32 filter[16]; } GFDxHorizontalFilter; typedef struct GFDxVerticalFilter_t { NvU32 filter[16]; } GFDxVerticalFilter; /** Typesafe function for opening Dx component. This function is implicitly called by the resource manager (GFRm) in response to an application’s call to GFRmComponentGet() for the GFDxAPI component. It is not supposed to be called by an application. It is included here only for the purpose of GFDxAPI source code customization. @param hrm (GFRmHandle) Handle to Rm component. @param phDx (GFDxHandle *) Handle to Dx component. @param state (GF_STATE_TYPE) @param hCh (GFRmChHandle) Handle to Channel. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ GF_RETTYPE GFDxOpen(GFRmHandle hRm, GFDxHandle *phDx, GF_STATE_TYPE state, GFRmChHandle hCh); /** Typesafe function for closing Dx component. This function is implicitly called by the resource manager (GFRm) in response to an application’s call to GFRmComponentGet() for the GFDxAPI component. It is included here only for the purpose of GFDxAPI source code customization. @param phDx (GFDxHandle *) Handle to Dx component. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured * */ void GFDxClose(GFDxHandle *phDx); /** This funtion returns the fixed properties of the display hardware. @param DxHandle (GFDxHandle) Handle to Dx Component @param pDxProp (PGFDXPROPERTY) See #GFDXPROPERTY @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxGetProperty( handle, pDxProp ) \ ((PGFDXTABLE)handle)->DxGetProperty( handle, pDxProp ) /** This functions waits for a vertical sync and returns to the caller. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param option (NvU16) Search for Option for GFDxVSync for more info. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxVSync(handle, option) \ ((PGFDXTABLE)handle)->DxVSync( handle, option ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxVSync(). */ #define GFDxVSyncWithCS(handle, option) \ ((PGFDXTABLE)handle)->DxVSyncWithCS( handle, option ) /** IMPORTANT NOTE: This function is not available. */ #define GFDxHSync(handle, option) \ ((PGFDXTABLE)handle)->DxHSync( handle, option ) /** This function initializes the main LCD or sub-LCD display. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param Handle (DxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param ulStartAddr (NvU32) display start address for main or sub-LCD (should be set to 0). GFDxSetAttribute() should be called to set the display start address for the main LCD or sub-LCD. @param ulStride (NvU32) Default stride if 0; otherwise use the passed value. GFDxSetAttribute() should be called to set the display stride for the main LCD or sub-LCD. @param bpp (unsigned) Default should be 16 bits/pixel for main LCD or sub-LCD. GFDxSetAttribute() should be called to set the display bpp for the main LCD or sub-LCD. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxSetDisplay( handle, lcdSel, ulStartAddr, ulStride, bpp ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxSetDisplay( handle, lcdSel, ulStartAddr, ulStride, bpp ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxSetDisplay(). */ #define GFDxSetDisplayWithCS( handle, lcdSel, ulStartAddr, ulStride, bpp ) \ ((PGFDXTABLE)handle)->DxSetDisplayWithCS( handle, lcdSel, ulStartAddr, \ ulStride, bpp ) /** This function initializes the main LCD or sub-LCD display. IMPORTANT NOTE: This function extends GFDxSetDisplay() function by adding an option to enable/disable the LCD display. @param Handle (DxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param ulStartAddr (NvU32) display start address for main or sub-LCD (should be set to 0). GFDxSetAttribute() should be called to set the display start address for the main LCD or sub-LCD. @param ulStride (NvU32) Default stride if 0; otherwise use the passed value. GFDxSetAttribute() should be called to set the display stride for the main LCD or sub-LCD. @param bpp (unsigned) Default should be 16 bits/pixel for main LCD or sub-LCD. GFDxSetAttribute() should be called to set the display bpp for the main LCD or sub-LCD. @param bOn (unsigned) 1 to Enable Display, 0 to disable Display. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxSetDisplayEx( handle, lcdSel, ulStartAddr, ulStride, bpp, bOn ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxSetDisplayEx( handle, lcdSel, ulStartAddr, ulStride, bpp, bOn ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxSetDisplayEx(). */ #define GFDxSetDisplayExWithCS( handle, lcdSel, ulStartAddr, ulStride, bpp, bOn ) \ ((PGFDXTABLE)handle)->DxSetDisplayExWithCS( handle, lcdSel, ulStartAddr, \ ulStride, bpp, On) /** This function enables/disables LCD display with proper power sequencing. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param Handle (DxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param bOn (unsigned) Bit0: 1 to Enable Display, 0 to disable Display. Also Option for Panel Driver On/Off @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxEnableDisplay( handle, lcdSel, bOn ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxEnableDisplay( handle, lcdSel, bOn ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxEnableDisplay(). */ #define GFDxEnableDisplayWithCS( handle, lcdSel, bOn ) \ ((PGFDXTABLE)handle)->DxEnableDisplayWithCS( handle, lcdSel, bOn ) /** GFDxSetAttribute() sets the display attributes for a main panel or subpanel. All the GFDxAPI attributes should be set after the GFDxSetDisplay() IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param aid (unsigned) Attribute IDs. See #GFDXATTRIBUTES Enumeration Type @param attr (NvU32) Attribute value for main LCD or sub-LCD. Should be written with attribute ID in aid. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxSetAttribute( handle, lcdSel, aid, attr) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxSetAttribute( handle, lcdSel, aid, attr ) /** Execute script command from DxApiTable. Send cmd/data to panel. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param ScriptCmdType (PDXSCRIPTCMD) Script Command @param Option (NvU32) Reserved, not used. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxScriptCmd( handle, lcdSel, pDxScriptCmd, Option) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxScriptCmd( handle, lcdSel, pDxScriptCmd, Option ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxScriptCmd(). */ #define GFDxScriptCmdWithCS( handle, lcdSel, pDxScriptCmd, Option) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxScriptCmdWithCS( handle, lcdSel, pDxScriptCmd, Option ) /** Sets the timing registers. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param pDxTiming (PDISPLAYTIMINGENTRY) See #PDISPLAYTIMINGENTRY. @param Option (NvU32) GF_DISPLAY_PARTIAL or GF_DISPLAY_NORMAL. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxDisplayTiming( handle, lcdSel, pDxTiming, Option) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxDisplayTiming( handle, lcdSel, pDxTiming, Option ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxDisplayTiming(). */ #define GFDxDisplayTimingWithCS( handle, lcdSel, pDxTiming, Option) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxDisplayTimingWithCS( handle, lcdSel, pDxTiming, Option ) /** This function returns the bit depth, the destination stride, the start address, the associated surface of the display buffer, or the graphics command execution control. The location of the returned attribute value is pointed to by attr. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param aid (unsigned) Attribute ID. see #GFDXATTRIBUTES. @param attr (NvU32 *) pointer to attribute value. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxGetAttribute( handle, lcdSel, aid, pAttr) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxGetAttribute( handle, lcdSel, aid, pAttr ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxSetAttribute(). */ #define GFDxSetAttributeWithCS( handle, lcdSel, aid, attr) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxSetAttributeWithCS( handle, lcdSel, aid, attr ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxGetAttribute(). */ #define GFDxGetAttributeWithCS( handle, lcdSel, aid, pAttr) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxGetAttributeWithCS( handle, lcdSel, aid, pAttr ) /** IMPORTANT NOTE: this function is not available. */ #define GFDxRotate( handle, lcdSel, nRotate, ulStartAddr ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxRotate( handle, lcdSel, nRotate, ulStartAddr ) /** This function clears the main or subdisplay screen with the given color. It also clears the display buffer of the main or subpanel window. Window A buffer 0 is used as a display buffer. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param ulStartAddr (NvU32) Start Address. (The offset in bytes of the display frame buffer.) @param color (NvU32) Clear screen with this color. The 32-bit value has a 16-bit color duplicated in the upper and lower parts. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxErase( handle, lcdSel, ulStartAddr, color ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxErase( handle, lcdSel, ulStartAddr, color ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxErase(). */ #define GFDxEraseWithCS( handle, lcdSel, ulStartAddr, color ) \ ((PGFDXTABLE)handle)->DxEraseWithCS( handle, lcdSel, ulStartAddr, color ) /** This function enables swithcing between the main LCD and sub-LCD. IMPORTANT NOTE: This function has critical sections and is thread-safe. @param DxHandle (GFDxHandle) Handle to Dx Component. @param lcdSel (int) 0 for LCD_MAIN. 1 for LCD_SUB. @param Option (NvU32) 0 for switch (Must be set to 0) @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxSwitchLCD( handle, lcdSel, Option ) \ ((PGFDXTABLE)handle)->Lcd[lcdSel].DxSwitchLCD( handle, lcdSel, Option ) /** This function sets the hardware Color Space Conversion (CSC) Coefficients. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param window (GFDXWINDOWSELECT) Controller window. see #GFDXWINDOWSELECT. @param coef (GFDXCSCCOEF *) CSC coefficients. see #GFDXCSCCOEF. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxSetCSCCoeff( handle, window, coef ) \ ((PGFDXTABLE)handle)->DxSetCSCCoeff( handle, window, coef ) /** This function gets the hardware Color Space Conversion (CSC) Coefficients. IMPORTANT NOTE: This function is now identical to the WithCS version of it (i.e. it has Critical Sections and is multi-thread safe) as the WithCS version is being phased out. @param DxHandle (GFDxHandle) Handle to Dx Component. @param window (GFDXWINDOWSELECT) Controller window. see #GFDXWINDOWSELECT. @param coef (GFDXCSCCOEF *) CSC coefficients. see #GFDXCSCCOEF. @retval #GF_SUCCESS Success @retval #GF_ERROR Some error occured */ #define GFDxGetCSCCoeff( handle, window, coef ) \ ((PGFDXTABLE)handle)->DxGetCSCCoeff( handle, window, coef ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxSetCSCCoeff(). */ #define GFDxSetCSCCoeffWithCS( handle, window, coef ) \ ((PGFDXTABLE)handle)->DxSetCSCCoeffWithCS( handle, window, coef ) /** IMPORTANT NOTE: This function is being phased out. The critical section functionality now exists in GFDxGetCSCCoeff(). */ #define GFDxGetCSCCoeffWithCS( handle, window, coef ) \ ((PGFDXTABLE)handle)->DxGetCSCCoeffWithCS( handle, window, coef ) /*@}*/ /** GFDxSetDefaultPanelMode - sets the default mode for multi-mode panels. @param handle A handle to a Dx instance @param mode The panel mode Some panels support multiple modes. To support mode switching, the default panel mode must be known. */ GF_RETTYPE GFDxSetDefaultPanelMode( GFDxHandle handle, NvU32 mode ); /** GFDxSwitchPanelMode - switch from the current mode to a new mode. @param handle A handle to a Dx instance @param mode The panel mode This switches from the current mode to a new mode. This calls a display script with the name "SwitchMode__to_" where x is the current mode and y is the new mode. */ GF_RETTYPE GFDxSwitchPanelMode( GFDxHandle handle, NvU32 mode ); /** GFDxSPIRegEnable - enable register reads and writes over SPI. @param handle A handle to a Dx instance @param enable Either enable or disable register read/writes. Enabling SPI register reads/writes may change the pin mapping which may prevent the rest of the display api from behaving properly (pixel data may no longer output to the panel). Disabling will restore the pin mapping. */ void GFDxSpiRegEnable( GFDxHandle handle, NvBool enable ); /** GFDxSPIRegWrite - write a 16 bit register over SPI. @param handle A handle to a Dx instance @param address The address to write @param data The data to write */ GF_RETTYPE GFDxSpiRegWrite( GFDxHandle handle, NvU16 address, NvU16 data ); /** GFDxSPIRegRead - read a 16 bit register over SPI. @param handle A handle to a Dx instance @param address The address to read from @param data The data to read (out param) */ GF_RETTYPE GFDxSpiRegRead( GFDxHandle handle, NvU16 address, NvU16 *data ); /** GFDxSpiPixelInit - send init sequence to the panel and setup the pixel write hardware. @param handle A handle to a Dx instance @param seq_data_a The first 32 bits of init data @param seq_data_b The second 32 bits of init data @param seq_data_c The third 32 bits of init data @param seq_data_d The fourth 32 bits of init data Note that this only support SPI16 mode, msb2lsb data ordering. Some panels may need the init sequence before every frame, in which case, this should always be called before GFDxSpiPixelWrite(). */ GF_RETTYPE GFDxSpiPixelInit( GFDxHandle handle, NvU32 seq_data_a, NvU32 seq_data_b, NvU32 seq_data_c, NvU32 seq_data_d ); /** GFDxSpiPixelWrite - writes the given pixel to the panel over SPI. @param handle A handle to a Dx instance @param pixel The pixels to write */ GF_RETTYPE GFDxSpiPixelWrite( GFDxHandle handle, NvUPtr pixels ); /** GFDxSpiScript - send commands to the spi hardware via an in-memory script. @param handle A handle to a Dx instance @param script The script to execute */ GF_RETTYPE GFDxSpiScript( GFDxHandle handle, NvU32 *script ); /** GFDxSetPixelClock - sets the pixel clock divider in half step increments. @param handle A handle to the Dx instance @param divider The pixel clock divider (actually shift clock - pixel clock will be the same as shift clock) Note: the divider is in half step increments: 1 = 1, 2 = 1.5, 3 = 2, etc. */ GF_RETTYPE GFDxSetPixelClock( GFDxHandle handle, NvU32 divider ); /** GFDxGetPixelClock - gets the current shift clock divider value. @param handle A handle to the Dx instance @param divider The pixel clock divider (actually shift clock - pixel clock will be the same as shift clock) */ GF_RETTYPE GFDxGetPixelClock( GFDxHandle handle, NvU32 *divider ); /** GFDxSetFilter - sets the window filtering coefficients. @param handle A handle to the Dx instance @param window The target window for the new coefficients @param hfilter The horizontal filtering coefficients @param vfilter The vertical filtering coefficients Window A does NOT support filtering. Window C only supports horizontal filtering (the vfilter param must be null) Window B supports both h and v filtering Passing null to both h and v filter will disabling filtering. DX_WINDOW_SELECT_NONE and DX_WINDOW_SELECT_NORMAL should not be used. */ GF_RETTYPE GFDxSetFilter( GFDxHandle handle, GFDXWINDOWSELECT window, GFDxHorizontalFilter *hfilter, GFDxVerticalFilter *vfilter ); #ifdef PROJECT_SEC_G1 /** GFDxSetFilter - sets the clock and timing to support focus TV encoder. @param handle A handle to the Dx instance @param option The Normal/NTSC/PAL mode to set */ GF_RETTYPE GFDxSetMode( GFDxHandle handle, NvU32 option ); #endif #ifdef __cplusplus } #endif /** @page pageDxAppNotes DxAPI Application Notes @section pageDxAppNotes1 Todo */ #endif /* GF_DX_H */