⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dal.h

📁 此代码为WCE5.0下显示器的源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
                                                        |HW_DISPLAY_TYPES_DFP_MASK)

#define DISPLAY_ADJUST_HORIZONTAL                      0x00000001
#define DISPLAY_ADJUST_VERTICAL                        0x00000002

#define GCO_HOOK_TEXT_CURSOR_BLINKING_ADJUSTMENT       0x00000001
#define GCO_HOOK_OVERLAY_GAMMA_ADJUSTMENT              0x00000002
#define GCO_HOOK_RATIOMETRIC_EXPANSION_ADJUSTMENT      0x00000004
#define GCO_HOOK_OVERLAY_COLOR_GAMMA_ADJUSTMENT        0x00000008
#define GCO_HOOK_OVERLAY_CONTRAST_ADJUSTMENT           0x00000010
#define GCO_HOOK_OVERLAY_SATURATION_ADJUSTMENT         0x00000020
#define GCO_HOOK_OVERLAY_HUE_ADJUSTMENT                0x00000040
#define GCO_HOOK_OVERLAY_CHROMACITY_ADJUSTMENT         0x00000080
#define GCO_HOOK_OVERLAY_BLACKWHITELEVEL_ADJUSTMENT    0x00000100
#define GCO_HOOK_GETCRC                                0x00000200
#define GCO_HOOK_GETHWDATA                             0x00000400
#define GCO_HOOK_GETMODETIMING                         0x00000800
#define GCO_CALCULATE_PEAK_MEMORY_BANDWIDTH            0x00001000
#define GCO_HOOK_SETMODEEXTENDED                       0x00002000
#define GCO_HOOK_ISDEVICEMAPPINGSUPPORTED              0x00004000
#define GCO_HOOK_UPDATEBIOSDISPLAYINFO                 0x00008000
#define GCO_HOOK_GAMMA16                               0x00010000
#define GCO_HOOK_GETEXPANSIONSETTING                   0x00020000
#define GCO_HOOK_GET_CONTROLLER_TIMINGS                0x00040000
#define GCO_HOOK_ADJUST_HORIZONTAL_TIME                0x00080000
#define GCO_CALCULATE_HALFFRAMEBUFFER_BANDWIDTH        0x00100000
#define GCO_CALCULATE_HALFFRAMEBUFFER_HTIME            0x00200000
#define GCO_HOOK_ENABLE_OVERLAY                        0x00400000
#define GCO_HOOK_DFP_SIZE                              0x00800000
#define GCO_HOOK_ACPI                                  0x01000000
#define GCO_HOOK_SET_DISPLAY_OFFSET                    0x02000000
#define GCO_HOOK_GET_HARDWARE_INFO_TABLE               0x04000000
#define GCO_HOOK_GET_MULTIMEDIA_TABLE                  0x08000000
#define GCO_CALCULATE_MEMORY_BANDWIDTH                 0x10000000
#define GCO_CALCULATE_HORIZONTAL_TIME                  0x20000000
#define GCO_HOOK_GAMMA_CORRECTION                      0x40000000
#define GCO_HOOK_MODE_CHANGES                          0x80000000

#define GCO_HOOK2_VALIDATEMODE                         0x00000001
#define GCO_HOOK2_OVERLAYALLOCATION                    0x00000002
#define GCO_HOOK2_CONTROLLERTESTHARNESS                0x00000004
#define GCO_HOOK2_GETSYSTEMBIOSINFO                    0x00000008
#define GCO_HOOK2_OVERLAY_ALPHA_ADJUSTMENT             0x00000010
#define GCO_HOOK2_POWERPLAY                            0x00000020
#define GCO_HOOK2_SETPOWERSTATE                        0x00000040
#define GCO_HOOK2_GETCLKINFO                           0x00000080
#define GCO_HOOK2_SETCLKCONFIG                         0x00000100
#define GCO_HOOK2_CALCULATE_PEAK_MEMORY_BANDWIDTH_EX   0x00000200
#define GCO_HOOK2_CALCULATE_MODE_BANDWIDTH_EX          0x00000400 
#define GCO_HOOK2_SETEVENT                             0x00000800
#define GCO_HOOK2_PROCESSMISCINFO                      0x00001000
#define GCO_HOOK2_GETDISPLAYXYPOS                      0x00002000
#define GCO_HOOK2_SETDISPLAYXYPOS                      0x00004000
#define GCO_HOOK2_RESERVED0F                           0x00008000
#define GCO_HOOK2_RESERVED10                           0x00010000
#define GCO_HOOK2_RESERVED11                           0x00020000
#define GCO_HOOK2_RESERVED12                           0x00040000
#define GCO_HOOK2_RESERVED13                           0x00080000
#define GCO_HOOK2_RESERVED14                           0x00100000
#define GCO_HOOK2_RESERVED15                           0x00200000
#define GCO_HOOK2_RESERVED16                           0x00400000
#define GCO_HOOK2_RESERVED17                           0x00800000
#define GCO_HOOK2_RESERVED18                           0x01000000
#define GCO_HOOK2_RESERVED19                           0x02000000
#define GCO_HOOK2_RESERVED1A                           0x04000000
#define GCO_HOOK2_RESERVED1B                           0x08000000
#define GCO_HOOK2_RESERVED1C                           0x10000000
#define GCO_HOOK2_RESERVED1D                           0x20000000
#define GCO_HOOK2_RESERVED1E                           0x40000000
#define GCO_HOOK2_RESERVED1F                           0x80000000

#define GCO_EVENT_SETDDEXCLUSIVEMODE                   0x00000001
#define GCO_EVENT_RESETDDEXCLUSIVEMODE                 0x00000002
#define GCO_EVENT_ENABLEEXTDESKTOPMODE                 0x00000003
#define GCO_EVENT_DISABLEEXTDESKTOPMODE                0x00000004

#define GDO_HOOK_BRIGHTNESS_ADJUSTMENT                 0x00000001
#define GDO_HOOK_CHROMA_FLICKER_REMOVAL_ADJUSTMENT     0x00000002
#define GDO_HOOK_COLOR_CONTROL_ADJUSTMENT              0x00000004
#define GDO_HOOK_CONTRAST_ADJUSTMENT                   0x00000008
#define GDO_HOOK_VERTICAL_POSITION_ADJUSTMENT          0x00000010
#define GDO_HOOK_HORIZONTAL_POSITION_ADJUSTMENT        0x00000020
#define GDO_HOOK_VERTICAL_SIZE_ADJUSTMENT              0x00000040
#define GDO_HOOK_HORIZONTAL_SIZE_ADJUSTMENT            0x00000080
#define GDO_HOOK_DOT_CRAWL_ADJUSTMENT                  0x00000100
#define GDO_HOOK_FILTER_SVIDEO_ADJUSTMENT              0x00000200
#define GDO_HOOK_FILTER_COMP_ADJUSTMENT                0x00000400
#define GDO_HOOK_GAMMA_ADJUSTMENT                      0x00000800
#define GDO_HOOK_LUMA_FLICKER_REMOVAL_ADJUSTMENT       0x00001000
#define GDO_HOOK_OVERSCAN_ADJUSTMENT                   0x00002000
#define GDO_HOOK_VIDEO_STANDARD_ADJUSTMENT             0x00004000
#define GDO_HOOK_VIDEO_SIGNAL_STANDARD_ADJUSTMENT      0x00008000
#define GDO_HOOK_MULTIMEDIAPASSTHRU_ADJUSTMENT         0x00010000
#define GDO_HOOK_INTERLACED                            0x00020000
#define GDO_HOOK_HORIZONTAL_SYNC                       0x00040000
#define GDO_HOOK_VERTICAL_SYNC                         0x00080000
#define GDO_HOOK_COMPOSITE_SYNC                        0x00100000
#define GDO_HOOK_FRAMEMODULATION                       0x00200000
#define GDO_ENDOF_ADJUSTMENTS                          0x00400000
#define GDO_HOOK_HOTPLUGABLEDEVICE                     0x00400000
#define GDO_HOOK_INITIALIZE_DEVICE                     0x00800000
#define GDO_HOOK_ACPI                                  0x01000000
#define GDO_HOOK_LIDSTATE                              0x02000000
#define GDO_HOOK_BLANKING                              0x04000000
#define GDO_HOOK_GET_EDID_DATA                         0x08000000 // Obsolete!
#define GDO_HOOK_GET_MONITOR_INFO                      0x10000000
#define GDO_HOOK_MODE_CHANGES                          0x20000000
#define GDO_HOOK_DPMS                                  0x40000000
#define GDO_HOOK2_PREADJUSTMENTCHANGE                  0x00000001
#define GDO_HOOK2_POSTADJUSTMENTCHANGE                 0x00000002
#define GDO_HOOK2_ALIGNER                              0x00000004
#define GDO_HOOK2_DISPLAYTESTHARNESS                   0x00000008
#define GDO_HOOK2_SETDSPLCONNECTOR                     0x00000010
#define GDO_HOOK2_DDCPREDDCQUERY                       0x00000020
#define GDO_HOOK2_DDCREADLINE                          0x00000040
#define GDO_HOOK2_DDCWRITELINE                         0x00000080
#define GDO_HOOK2_DDCPOSTDDCQUERY                      0x00000100
#define GDO_HOOK2_ENABLESIBLING                        0x00000200
#define GDO_HOOK2_GETPMREFRESHRATE_SUPPORTED           0x00000400
#define GDO_HOOK2_SETREFRESHRATE_SUPPORTED             0x00000800
#define GDO_HOOK2_SATURATION_ADJUSTMENT                0x00001000
#define GDO_HOOK2_HUE_ADJUSTMENT                       0x00002000
#define GDO_HOOK2_CGMS_ADJUSTMENT                      0x00004000
#define GDO_HOOK2_DISPLAYGETDEVICEINFO                 0x00008000
#define GDO_HOOK2_I2C_SUPPORT                          0x00020000 
#define GDO_HOOK2_SETPOWERSTATE                        0x00040000 
#define GDO_HOOK2_GETFIXEDDISPLAYMODES                 0x00080000 
#define GDO_HOOK2_GETFIXEDDISPLAYMODETIMING            0x00100000
#define GDO_HOOK2_DISPLAYISMODESUPPORTED_EX            0x00200000

#define DAL_CONTROLLER_CAPS_EXPANSION                  0x00000001
#define DAL_CONTROLLER_CAPS_OVERLAY                    0x00000002
#define DAL_CONTROLLER_CAPS_VGA                        0x00000004
#define DAL_CONTROLLER_CAPS_HW_CURSOR                  0x00000008
#define DAL_CONTROLLER_CAPS_HW_ICON                    0x00000010
#define DAL_CONTROLLER_CAPS_OVERLAY_GAMMA              0x00000020
#define DAL_CONTROLLER_CAPS_CURSOR_BLINK               0x00000040
#define DAL_CONTROLLER_CAPS_EXCLUSIVE_HW_CURSOR_ICON   0x00000080
#define DAL_CONTROLLER_CAPS_SWITCHABLE_OVERLAY         0x00000100
#define DAL_CONTROLLER_CAPS_SHADOW_REGISTER_SET        0x00000200
#define DAL_CONTROLLER_CAPS_BWCALCULATION              0x00000400 
#define DAL_CONTROLLER_CAPS_RESERVED12                 0x00000800
#define DAL_CONTROLLER_CAPS_AMC8BIT_PORT1              0x00001000
#define DAL_CONTROLLER_CAPS_AMC8BIT_PORT2              0x00002000
#define DAL_CONTROLLER_CAPS_AMC16BIT_PORT              0x00004000 /*16Bit VIP port physically shared with 8bit port1 and port2*/
#define DAL_CONTROLLER_CAPS_RESERVED0x00008000         0x00008000
#define DAL_CONTROLLER_CAPS_SETCRT2ANDTVEXCLUSIVE      0x00010000
#define DAL_CONTROLLER_CAPS_SETCVEXCLUSIVE             0x00020000  // twdal#8674
#define DAL_CONTROLLER_CAPS_HTIMETWOCRTC               0x00040000

#define DAL_CONTROLLER_OVERLAY_ALLOCATED               0x00000001 //for ulControllerFlags
#define DAL_CONTROLLER_OVERLAY_RGB                     0x00000002

#define DAL_MULTIMEDIA_AMC_8BIT_PORT1                  0x00000001 //for ulMultiMediaInfo
#define DAL_MULTIMEDIA_AMC_8BIT_PORT2                  0x00000002
#define DAL_MULTIMEDIA_AMC_16BIT_PORT                 (0x00000004 | \
                                    DAL_MULTIMEDIA_AMC_8BIT_PORT1 | \
                                    DAL_MULTIMEDIA_AMC_8BIT_PORT2)

#define DRIVERSTATE_PSEUDOLARGEDESKTOPSET              0x00000001

#define DAL_DISPLAY_ECAPS_HPDSUPPORTED                 0x00000002
#define DAL_DISPLAY_ECAPS_USEDSHAREDRESOURCE           0x00000004


#define DAL_DISPLAY_TVTYPE_IMPACTTV_1                  1
#define DAL_DISPLAY_TVTYPE_IMPACTTV_2A                 2
#define DAL_DISPLAY_TVTYPE_IMPACTTV_2B                 3
#define DAL_DISPLAY_TVTYPE_IMPACTTV_2PLUSA             4
#define DAL_DISPLAY_TVTYPE_IMPACTTV_2PLUSB             5
#define DAL_DISPLAY_TVTYPE_IMPACTTV_LTPRO              6
#define DAL_DISPLAY_TVTYPE_RIPPER                      7

#define DAL_DISPLAY_VIDEO_FORMAT_NTSC_M                0x00000001
#define DAL_DISPLAY_VIDEO_FORMAT_NTSC_M_JPN            0x00000002
#define DAL_DISPLAY_VIDEO_FORMAT_NTSC_N                0x00000004
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_B                 0x00000008
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_COMB_N            0x00000010
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_D                 0x00000020
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_G                 0x00000040
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_H                 0x00000080
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_I                 0x00000100
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_K                 0x00000200
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_K1                0x00000400
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_L                 0x00000800
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_M                 0x00001000
#define DAL_DISPLAY_VIDEO_FORMAT_PAL_N                 0x00002000
#define DAL_DISPLAY_VIDEO_FORMAT_SECAM_D               0x00004000
#define DAL_DISPLAY_VIDEO_FORMAT_SECAM_K               0x00008000
#define DAL_DISPLAY_VIDEO_FORMAT_SECAM_K1              0x00010000
#define DAL_DISPLAY_VIDEO_FORMAT_SECAM_L               0x00020000

#define DAL_EVENT_DRIVERENABLE                         0x00000001
#define DAL_EVENT_DRIVERDISABLE                        0x00000002
#define DAL_EVENT_DRIVERSETMODE                        0x00000003
#define DAL_EVENT_DRIVERRESETMODE                      0x00000004
#define DAL_EVENT_CONTROLLERPREMODECHANGE              0x00000005
#define DAL_EVENT_CONTROLLERPOSTMODECHANGE             0x00000006

#define DAL_MODECHANGE_MAJOR_DESKTOPRESORBPPCHANGE     0x00000001
#define DAL_MODECHANGE_MAJOR_VIEWRESORBPPCHANGE        0x00000002
#define DAL_MODECHANGE_MINOR_RATIOMETRICEXPANSIONON    0x00000001
#define DAL_MODECHANGE_MINOR_VIEWRESCHANGE             0x00000002
#define DAL_MODECHANGE_MINOR_EXPANSIONONCHANGE         0x00000004

  // I2C lines, parameter for DDCReadLine and DDCWriteLine hooks
#define DAL_DDC_I2C_LINE_SDA          0
#define DAL_DDC_I2C_LINE_SCL          1

#define DAL_GCO_MEMSEG_MIN_INDEX                       0
#define DAL_GCO_MEMSEG_MAX_INDEX                       (DAL_GCO_MEMSEG_MIN_INDEX+MAX_NUMBER_CONTROLLERS-1)
#define DAL_GDO_MEMSEG_MIN_INDEX                       (DAL_GCO_MEMSEG_MAX_INDEX+1)
#define DAL_GDO_MEMSEG_MAX_INDEX       		       (DAL_GDO_MEMSEG_MIN_INDEX+MAX_NUMBER_DISPLAYS-1)
#define DAL_MAX_MEMSEG_ALLOCATION                      (DAL_GDO_MEMSEG_MAX_INDEX+1)

#define DAL_I2C_GET_DATA_FROM_GDO          0
#define DAL_I2C_GET_ADDR_FROM_GDO          1
#define DAL_I2C_SET_DATA_TO_GDO            2
#define DAL_I2C_SET_ADDR_TO_GDO            3

/******************************Public*Definition*****************************\
*
* DAL TYPE DEFINITIONS
*
\****************************************************************************/

typedef struct _DALMEMSEG
{
  ULONG  ulSize;
  LPVOID lpMem;
} DALMEMSEG, FAR *LPDALMEMSEG;

typedef struct _SDALMEM
{
  ULONG     ulSize;
  ULONG     ulNumEntries;
  DALMEMSEG aMemSeg[DAL_MAX_MEMSEG_ALLOCATION];
} SDALMEM, FAR *LPDALMEM;

typedef void FAR *HDAL;
typedef void FAR *HDDL;
typedef void FAR *HGCO;
typedef void FAR *HGDO;

typedef struct _HW_ADJUSTMENT            HW_ADJUSTMENT;
typedef struct _HW_ADJUSTMENT            FAR *LPHW_ADJUSTMENT;
typedef struct _HW_ASIC_ID               HW_ASIC_ID;
typedef struct _HW_ASIC_ID               FAR *LPHW_ASIC_ID;
typedef struct _HW_CONTROLLER_ENABLEDATA HW_CONTROLLER_ENABLEDATA;
typedef struct _HW_CONTROLLER_ENABLEDATA FAR *LPHW_CONTROLLER_ENABLEDATA;
typedef struct _HW_DISPLAY_ENABLEDATA    HW_DISPLAY_ENABLEDATA;
typedef struct _HW_DISPLAY_ENABLEDATA    FAR *LPHW_DISPLAY_ENABLEDATA;

typedef struct _ADJUSTMENT_PARAMETERS    ADJUSTMENT_PARAMETERS;
typedef struct _ADJUSTMENT_PARAMETERS    FAR *LPADJUSTMENT_PARAMETERS;

typedef struct _DEVCLUT                  DEVCLUT;
typedef struct _DEVCLUT                  FAR *LPDEVCLUT;
typedef struct _DEVMODE_INFO             DEVMODE_INFO;
typedef struct _DEVMODE_INFO             FAR *LPDEVMODE_INFO;

typedef struct _GCO_QUERY_STRUCTURE      GCO_QUERY_STRUCTURE;
typedef struct _GCO_QUERY_STRUCTURE      FAR *LPGCO_QUERY_STRUCTURE;
typedef struct _GCO_CONTROLLER_TIMINGS   GCO_CONTROLLER_TIMINGS;
typedef struct _GCO_CONTROLLER_TIMINGS   FAR *LPGCO_CONTROLLER_TIMINGS;
typedef struct _GCO_HW_REGISTER          GCO_HW_REGISTER;
typedef struct _GCO_HW_REGISTER          FAR *LPGCO_HW_REGISTER;
typedef struct _GCO_SYSTEMBIOSINFO       FAR *LPGCO_SYSTEMBIOSINFO;

typedef struct _HORIZONTAL_TIME          HORIZONTAL_TIME;
typedef struct _HORIZONTAL_TIME          FAR * LPHORIZONTAL_TIME;


#include "dalbase.h"
#include "libver.h"

/******************************Public*Definition*****************************\
*
* FUNCTION TYPEDEF
*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -