Advertisement
Guest User

Untitled

a guest
Dec 11th, 2011
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.25 KB | None | 0 0
  1. //
  2. // Copyright (c) 2008 - 2009 Advanced Micro Devices, Inc.
  3.  
  4. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
  5. // EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
  6. // WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
  7.  
  8. /// \file adl_defines.h
  9. /// \brief Contains all definitions exposed by ADL for \ALL platforms.\n <b>Included in ADL SDK</b>
  10. ///
  11. /// This file contains all definitions used by ADL.
  12. /// The ADL definitions include the following:
  13. /// \li ADL error codes
  14. /// \li Enumerations for the ADLDisplayInfo structure
  15. /// \li Maximum limits
  16. ///
  17.  
  18. #ifndef ADL_DEFINES_H_
  19. #define ADL_DEFINES_H_
  20.  
  21. /// \defgroup DEFINES Constants and Definitions
  22. // @{
  23.  
  24. /// \defgroup define_misc Muscelaneous Constant Definitions
  25. // @{
  26.  
  27. /// \name General Definitions
  28. // @{
  29.  
  30. /// Defines ADL_TRUE
  31. #define ADL_TRUE 1
  32. /// Defines ADL_FALSE
  33. #define ADL_FALSE 0
  34.  
  35. /// Defines the maximum string length
  36. #define ADL_MAX_CHAR 4096
  37. /// Defines the maximum string length
  38. #define ADL_MAX_PATH 256
  39. /// Defines the maximum number of supported adapters
  40. #define ADL_MAX_ADAPTERS 150
  41. /// Defines the maxumum number of supported displays
  42. #define ADL_MAX_DISPLAYS 150
  43. /// Defines the maxumum string length for device name
  44. #define ADL_MAX_DEVICENAME 32
  45. /// Defines for all adapters
  46. #define ADL_ADAPTER_INDEX_ALL -1
  47. /// Defines APIs with iOption none
  48. #define ADL_MAIN_API_OPTION_NONE 0
  49. // @}
  50.  
  51. /// \name Definitions for iOption parameter used by
  52. /// ADL_Display_DDCBlockAccess_Get()
  53. // @{
  54.  
  55. /// Switch to DDC line 2 before sending the command to the display.
  56. #define ADL_DDC_OPTION_SWITCHDDC2 0x00000001
  57. /// Save command in the registry under a unique key, corresponding to parameter \b iCommandIndex
  58. #define ADL_DDC_OPTION_RESTORECOMMAND 0x00000002
  59. // @}
  60.  
  61. /// \name Values for
  62. /// ADLI2C.iAction used with ADL_Display_WriteAndReadI2C()
  63. // @{
  64.  
  65. #define ADL_DL_I2C_ACTIONREAD 0x00000001
  66. #define ADL_DL_I2C_ACTIONWRITE 0x00000002
  67. #define ADL_DL_I2C_ACTIONREAD_REPEATEDSTART 0x00000003
  68. // @}
  69.  
  70.  
  71. // @} //Misc
  72.  
  73. /// \defgroup define_adl_results Result Codes
  74. /// This group of definitions are the various results returned by all ADL functions \n
  75. // @{
  76. /// All OK, but need to wait
  77. #define ADL_OK_WAIT 4
  78. /// All OK, but need restart
  79. #define ADL_OK_RESTART 3
  80. /// All OK but need mode change
  81. #define ADL_OK_MODE_CHANGE 2
  82. /// All OK, but with warning
  83. #define ADL_OK_WARNING 1
  84. /// ADL function completed successfully
  85. #define ADL_OK 0
  86. /// Generic Error. Most likely one or more of the Escape calls to the driver failed!
  87. #define ADL_ERR -1
  88. /// ADL not initialized
  89. #define ADL_ERR_NOT_INIT -2
  90. /// One of the parameter passed is invalid
  91. #define ADL_ERR_INVALID_PARAM -3
  92. /// One of the parameter size is invalid
  93. #define ADL_ERR_INVALID_PARAM_SIZE -4
  94. /// Invalid ADL index passed
  95. #define ADL_ERR_INVALID_ADL_IDX -5
  96. /// Invalid controller index passed
  97. #define ADL_ERR_INVALID_CONTROLLER_IDX -6
  98. /// Invalid display index passed
  99. #define ADL_ERR_INVALID_DIPLAY_IDX -7
  100. /// Function not supported by the driver
  101. #define ADL_ERR_NOT_SUPPORTED -8
  102. /// Null Pointer error
  103. #define ADL_ERR_NULL_POINTER -9
  104. /// Call can't be made due to disabled adapter
  105. #define ADL_ERR_DISABLED_ADAPTER -10
  106. /// Invalid Callback
  107. #define ADL_ERR_INVALID_CALLBACK -11
  108. /// Display Resource conflict
  109. #define ADL_ERR_RESOURCE_CONFLICT -12
  110.  
  111. // @}
  112. /// </A>
  113.  
  114. /// \defgroup define_display_type Display Type
  115. /// Define Monitor/CRT display type
  116. // @{
  117. /// Define Monitor display type
  118. #define ADL_DT_MONITOR 0
  119. /// Define TV display type
  120. #define ADL_DT_TELEVISION 1
  121. /// Define LCD display type
  122. #define ADL_DT_LCD_PANEL 2
  123. /// Define DFP display type
  124. #define ADL_DT_DIGITAL_FLAT_PANEL 3
  125. /// Define Componment Video display type
  126. #define ADL_DT_COMPONENT_VIDEO 4
  127. /// Define Projector display type
  128. #define ADL_DT_PROJECTOR 5
  129. // @}
  130.  
  131. /// \defgroup define_display_connection_type Display Connection Type
  132. // @{
  133. /// Define unknown display output type
  134. #define ADL_DOT_UNKNOWN 0
  135. /// Define composite display output type
  136. #define ADL_DOT_COMPOSITE 1
  137. /// Define SVideo display output type
  138. #define ADL_DOT_SVIDEO 2
  139. /// Define analog display output type
  140. #define ADL_DOT_ANALOG 3
  141. /// Define digital display output type
  142. #define ADL_DOT_DIGITAL 4
  143. // @}
  144.  
  145. /// \defgroup define_color_type Display Color Type and Source
  146. /// Define Display Color Type and Source
  147. // @{
  148. #define ADL_DISPLAY_COLOR_BRIGHTNESS (1 << 0)
  149. #define ADL_DISPLAY_COLOR_CONTRAST (1 << 1)
  150. #define ADL_DISPLAY_COLOR_SATURATION (1 << 2)
  151. #define ADL_DISPLAY_COLOR_HUE (1 << 3)
  152. #define ADL_DISPLAY_COLOR_TEMPERATURE (1 << 4)
  153.  
  154. /// Color Temperature Source is EDID
  155. #define ADL_DISPLAY_COLOR_TEMPERATURE_SOURCE_EDID (1 << 5)
  156. /// Color Temperature Source is User
  157. #define ADL_DISPLAY_COLOR_TEMPERATURE_SOURCE_USER (1 << 6)
  158. // @}
  159.  
  160. /// \defgroup define_adjustment_capabilities Display Adjustment Capabilities
  161. /// Display adjustment capabilities values. Returned by ADL_Display_AdjustCaps_Get
  162. // @{
  163. #define ADL_DISPLAY_ADJUST_OVERSCAN (1 << 0)
  164. #define ADL_DISPLAY_ADJUST_VERT_POS (1 << 1)
  165. #define ADL_DISPLAY_ADJUST_HOR_POS (1 << 2)
  166. #define ADL_DISPLAY_ADJUST_VERT_SIZE (1 << 3)
  167. #define ADL_DISPLAY_ADJUST_HOR_SIZE (1 << 4)
  168. #define ADL_DISPLAY_ADJUST_SIZEPOS (ADL_DISPLAY_ADJUST_VERT_POS | ADL_DISPLAY_ADJUST_HOR_POS | ADL_DISPLAY_ADJUST_VERT_SIZE | ADL_DISPLAY_ADJUST_HOR_SIZE)
  169. #define ADL_DISPLAY_CUSTOMMODES (1<<5)
  170. #define ADL_DISPLAY_ADJUST_UNDERSCAN (1<<6)
  171. // @}
  172.  
  173.  
  174. /// \defgroup define_desktop_config Desktop Configuration Flags
  175. /// These flags are used by ADL_DesktopConfig_xxx
  176. // @{
  177. #define ADL_DESKTOPCONFIG_UNKNOWN 0 /* UNKNOWN desktop config */
  178. #define ADL_DESKTOPCONFIG_SINGLE (1 << 0) /* Single */
  179. #define ADL_DESKTOPCONFIG_CLONE (1 << 2) /* Clone */
  180. #define ADL_DESKTOPCONFIG_BIGDESK_H (1 << 4) /* Big Desktop Horizontal */
  181. #define ADL_DESKTOPCONFIG_BIGDESK_V (1 << 5) /* Big Desktop Vertical */
  182. #define ADL_DESKTOPCONFIG_BIGDESK_HR (1 << 6) /* Big Desktop Reverse Horz */
  183. #define ADL_DESKTOPCONFIG_BIGDESK_VR (1 << 7) /* Big Desktop Reverse Vert */
  184. #define ADL_DESKTOPCONFIG_RANDR12 (1 << 8) /* RandR 1.2 Multi-display */
  185. // @}
  186.  
  187. /// needed for ADLDDCInfo structure
  188. #define ADL_MAX_DISPLAY_NAME 256
  189.  
  190. /// \defgroup define_edid_flags Values for ulDDCInfoFlag
  191. /// defines for ulDDCInfoFlag EDID flag
  192. // @{
  193. #define ADL_DISPLAYDDCINFOEX_FLAG_PROJECTORDEVICE (1 << 0)
  194. #define ADL_DISPLAYDDCINFOEX_FLAG_EDIDEXTENSION (1 << 1)
  195. #define ADL_DISPLAYDDCINFOEX_FLAG_DIGITALDEVICE (1 << 2)
  196. #define ADL_DISPLAYDDCINFOEX_FLAG_HDMIAUDIODEVICE (1 << 3)
  197. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORTS_AI (1 << 4)
  198. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC601 (1 << 5)
  199. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC709 (1 << 6)
  200. // @}
  201.  
  202. /// \defgroup define_displayinfo_connector Display Connector Type
  203. /// defines for ADLDisplayInfo.iDisplayConnector
  204. // @{
  205. #define ADL_DISPLAY_CONTYPE_UNKNOWN 0
  206. #define ADL_DISPLAY_CONTYPE_VGA 1
  207. #define ADL_DISPLAY_CONTYPE_DVI_D 2
  208. #define ADL_DISPLAY_CONTYPE_DVI_I 3
  209. #define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NTSC 4
  210. #define ADL_DISPLAY_CONTYPE_ATICVDONGLE_JPN 5
  211. #define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_JPN 6
  212. #define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_NTSC 7
  213. #define ADL_DISPLAY_CONTYPE_HDMI_TYPE_A 10
  214. #define ADL_DISPLAY_CONTYPE_HDMI_TYPE_B 11
  215. #define ADL_DISPLAY_CONTYPE_SVIDEO 12
  216. #define ADL_DISPLAY_CONTYPE_COMPOSITE 13
  217. #define ADL_DISPLAY_CONTYPE_RCA_3COMPONENT 14
  218. #define ADL_DISPLAY_CONTYPE_DISPLAYPORT 15
  219. // @}
  220.  
  221. /// TV Capabilities and Standards
  222. /// \defgroup define_tv_caps TV Capabilities and Standards
  223. // @{
  224. #define ADL_TV_STANDARDS (1 << 0)
  225. #define ADL_TV_SCART (1 << 1)
  226.  
  227. /// TV Standards Definitions
  228. #define ADL_STANDARD_NTSC_M (1 << 0)
  229. #define ADL_STANDARD_NTSC_JPN (1 << 1)
  230. #define ADL_STANDARD_NTSC_N (1 << 2)
  231. #define ADL_STANDARD_PAL_B (1 << 3)
  232. #define ADL_STANDARD_PAL_COMB_N (1 << 4)
  233. #define ADL_STANDARD_PAL_D (1 << 5)
  234. #define ADL_STANDARD_PAL_G (1 << 6)
  235. #define ADL_STANDARD_PAL_H (1 << 7)
  236. #define ADL_STANDARD_PAL_I (1 << 8)
  237. #define ADL_STANDARD_PAL_K (1 << 9)
  238. #define ADL_STANDARD_PAL_K1 (1 << 10)
  239. #define ADL_STANDARD_PAL_L (1 << 11)
  240. #define ADL_STANDARD_PAL_M (1 << 12)
  241. #define ADL_STANDARD_PAL_N (1 << 13)
  242. #define ADL_STANDARD_PAL_SECAM_D (1 << 14)
  243. #define ADL_STANDARD_PAL_SECAM_K (1 << 15)
  244. #define ADL_STANDARD_PAL_SECAM_K1 (1 << 16)
  245. #define ADL_STANDARD_PAL_SECAM_L (1 << 17)
  246. // @}
  247.  
  248.  
  249. /// \defgroup define_video_custom_mode Video Custom Mode flags
  250. /// Component Video Custom Mode flags. This is used by the iFlags parameter in ADLCustomMode
  251. // @{
  252. #define ADL_CUSTOMIZEDMODEFLAG_MODESUPPORTED (1 << 0)
  253. #define ADL_CUSTOMIZEDMODEFLAG_NOTDELETETABLE (1 << 1)
  254. #define ADL_CUSTOMIZEDMODEFLAG_INSERTBYDRIVER (1 << 2)
  255. #define ADL_CUSTOMIZEDMODEFLAG_INTERLACED (1 << 3)
  256. #define ADL_CUSTOMIZEDMODEFLAG_BASEMODE (1 << 4)
  257. // @}
  258.  
  259. /// \defgroup define_ddcinfoflag Values used for DDCInfoFlag
  260. /// ulDDCInfoFlag field values used by the ADLDDCInfo structure
  261. // @{
  262. #define ADL_DISPLAYDDCINFOEX_FLAG_PROJECTORDEVICE (1 << 0)
  263. #define ADL_DISPLAYDDCINFOEX_FLAG_EDIDEXTENSION (1 << 1)
  264. #define ADL_DISPLAYDDCINFOEX_FLAG_DIGITALDEVICE (1 << 2)
  265. #define ADL_DISPLAYDDCINFOEX_FLAG_HDMIAUDIODEVICE (1 << 3)
  266. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORTS_AI (1 << 4)
  267. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC601 (1 << 5)
  268. #define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC709 (1 << 6)
  269. // @}
  270.  
  271. /// \defgroup define_cv_dongle Values used by ADL_CV_DongleSettings_xxx
  272. /// The following is applicable to ADL_DISPLAY_CONTYPE_ATICVDONGLE_JP and ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_D only
  273. // @{
  274. #define ADL_DISPLAY_CV_DONGLE_D1 (1 << 0)
  275. #define ADL_DISPLAY_CV_DONGLE_D2 (1 << 1)
  276. #define ADL_DISPLAY_CV_DONGLE_D3 (1 << 2)
  277. #define ADL_DISPLAY_CV_DONGLE_D4 (1 << 3)
  278. #define ADL_DISPLAY_CV_DONGLE_D5 (1 << 4)
  279.  
  280. /// The following is applicable to ADL_DISPLAY_CONTYPE_ATICVDONGLE_NA and ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C only
  281.  
  282. #define ADL_DISPLAY_CV_DONGLE_480I (1 << 0)
  283. #define ADL_DISPLAY_CV_DONGLE_480P (1 << 1)
  284. #define ADL_DISPLAY_CV_DONGLE_540P (1 << 2)
  285. #define ADL_DISPLAY_CV_DONGLE_720P (1 << 3)
  286. #define ADL_DISPLAY_CV_DONGLE_1080I (1 << 4)
  287. #define ADL_DISPLAY_CV_DONGLE_1080P (1 << 5)
  288. #define ADL_DISPLAY_CV_DONGLE_16_9 (1 << 6)
  289. #define ADL_DISPLAY_CV_DONGLE_720P50 (1 << 7)
  290. #define ADL_DISPLAY_CV_DONGLE_1080I25 (1 << 8)
  291. #define ADL_DISPLAY_CV_DONGLE_576I25 (1 << 9)
  292. #define ADL_DISPLAY_CV_DONGLE_576P50 (1 << 10)
  293. #define ADL_DISPLAY_CV_DONGLE_1080P24 (1 << 11)
  294. #define ADL_DISPLAY_CV_DONGLE_1080P25 (1 << 12)
  295. #define ADL_DISPLAY_CV_DONGLE_1080P30 (1 << 13)
  296. #define ADL_DISPLAY_CV_DONGLE_1080P50 (1 << 14)
  297. // @}
  298.  
  299. /// \defgroup define_formats_ovr Formats Override Settings
  300. /// Display force modes flags
  301. // @{
  302. ///
  303. #define ADL_DISPLAY_FORMAT_FORCE_720P 0x00000001
  304. #define ADL_DISPLAY_FORMAT_FORCE_1080I 0x00000002
  305. #define ADL_DISPLAY_FORMAT_FORCE_1080P 0x00000004
  306. #define ADL_DISPLAY_FORMAT_FORCE_720P50 0x00000008
  307. #define ADL_DISPLAY_FORMAT_FORCE_1080I25 0x00000010
  308. #define ADL_DISPLAY_FORMAT_FORCE_576I25 0x00000020
  309. #define ADL_DISPLAY_FORMAT_FORCE_576P50 0x00000040
  310. #define ADL_DISPLAY_FORMAT_FORCE_1080P24 0x00000080
  311. #define ADL_DISPLAY_FORMAT_FORCE_1080P25 0x00000100
  312. #define ADL_DISPLAY_FORMAT_FORCE_1080P30 0x00000200
  313. #define ADL_DISPLAY_FORMAT_FORCE_1080P50 0x00000400
  314.  
  315. ///< Below are \b EXTENDED display mode flags
  316.  
  317. #define ADL_DISPLAY_FORMAT_CVDONGLEOVERIDE 0x00000001
  318. #define ADL_DISPLAY_FORMAT_CVMODEUNDERSCAN 0x00000002
  319. #define ADL_DISPLAY_FORMAT_FORCECONNECT_SUPPORTED 0x00000004
  320. #define ADL_DISPLAY_FORMAT_RESTRICT_FORMAT_SELECTION 0x00000008
  321. #define ADL_DISPLAY_FORMAT_SETASPECRATIO 0x00000010
  322. #define ADL_DISPLAY_FORMAT_FORCEMODES 0x00000020
  323. #define ADL_DISPLAY_FORMAT_LCDRTCCOEFF 0x00000040
  324. // @}
  325.  
  326. /// Defines used by OD5
  327. #define ADL_PM_PARAM_DONT_CHANGE 0
  328.  
  329. /// The following defines Bus types
  330. // @{
  331. #define ADL_BUSTYPE_PCI 0 /* PCI bus */
  332. #define ADL_BUSTYPE_AGP 1 /* AGP bus */
  333. #define ADL_BUSTYPE_PCIE 2 /* PCI Express bus */
  334. #define ADL_BUSTYPE_PCIE_GEN2 3 /* PCI Express 2nd generation bus */
  335. // @}
  336.  
  337. /// \defgroup define_ws_caps Workstation Capabilities
  338. /// Workstation values
  339. // @{
  340.  
  341. /// This value indicates that the workstation card supports active stereo though stereo output connector
  342. #define ADL_STEREO_SUPPORTED (1 << 2)
  343. /// This value indicates that the workstation card supports active stereo via "blue-line"
  344. #define ADL_STEREO_BLUE_LINE (1 << 3)
  345. /// This value is used to turn off stereo mode.
  346. #define ADL_STEREO_OFF 0
  347. /// This value indicates that the workstation card supports active stereo. This is also used to set the stereo mode to active though the stereo output connector
  348. #define ADL_STEREO_ACTIVE (1 << 1)
  349. /// This value indicates that the workstation card supports auto-stereo monitors with horizontal interleave. This is also used to set the stereo mode to use the auto-stereo monitor with horizontal interleave
  350. #define ADL_STEREO_AUTO_HORIZONTAL (1 << 30)
  351. /// This value indicates that the workstation card supports auto-stereo monitors with vertical interleave. This is also used to set the stereo mode to use the auto-stereo monitor with vertical interleave
  352. #define ADL_STEREO_AUTO_VERTICAL (1 << 31)
  353. /// This value indicates that the workstation card supports passive stereo, ie. non stereo sync
  354. #define ADL_STEREO_PASSIVE (1 << 6)
  355. /// This value indicates that the workstation card supports auto-stereo monitors with vertical interleave. This is also used to set the stereo mode to use the auto-stereo monitor with vertical interleave
  356. #define ADL_STEREO_PASSIVE_HORIZ (1 << 7)
  357. /// This value indicates that the workstation card supports auto-stereo monitors with vertical interleave. This is also used to set the stereo mode to use the auto-stereo monitor with vertical interleave
  358. #define ADL_STEREO_PASSIVE_VERT (1 << 8)
  359.  
  360.  
  361. /// Load balancing is supported.
  362. #define ADL_WORKSTATION_LOADBALANCING_SUPPORTED 0x00000001
  363. /// Load balancing is available.
  364. #define ADL_WORKSTATION_LOADBALANCING_AVAILABLE 0x00000002
  365.  
  366. /// Load balancing is disabled.
  367. #define ADL_WORKSTATION_LOADBALANCING_DISABLED 0x00000000
  368. /// Load balancing is Enabled.
  369. #define ADL_WORKSTATION_LOADBALANCING_ENABLED 0x00000001
  370.  
  371. // @}
  372.  
  373. /// \defgroup define_adapterspeed speed setting from the adapter
  374. // @{
  375. #define ADL_CONTEXT_SPEED_UNFORCED 0 /* default asic running speed */
  376. #define ADL_CONTEXT_SPEED_FORCEHIGH 1 /* asic running speed is forced to high */
  377. #define ADL_CONTEXT_SPEED_FORCELOW 2 /* asic running speed is forced to low */
  378.  
  379. #define ADL_ADAPTER_SPEEDCAPS_SUPPORTED (1 << 0) /* change asic running speed setting is supported */
  380. // @}
  381.  
  382. /// \defgroup define_glsync Genlock related values
  383. /// GL-Sync port types (unique values)
  384. // @{
  385. /// Unknown port of GL-Sync module
  386. #define ADL_GLSYNC_PORT_UNKNOWN 0
  387. /// BNC port of of GL-Sync module
  388. #define ADL_GLSYNC_PORT_BNC 1
  389. /// RJ45(1) port of of GL-Sync module
  390. #define ADL_GLSYNC_PORT_RJ45PORT1 2
  391. /// RJ45(2) port of of GL-Sync module
  392. #define ADL_GLSYNC_PORT_RJ45PORT2 3
  393.  
  394. // GL-Sync Genlock settings mask (bit-vector)
  395.  
  396. /// None of the ADLGLSyncGenlockConfig members are valid
  397. #define ADL_GLSYNC_CONFIGMASK_NONE 0
  398. /// The ADLGLSyncGenlockConfig.lSignalSource member is valid
  399. #define ADL_GLSYNC_CONFIGMASK_SIGNALSOURCE (1 << 0)
  400. /// The ADLGLSyncGenlockConfig.iSyncField member is valid
  401. #define ADL_GLSYNC_CONFIGMASK_SYNCFIELD (1 << 1)
  402. /// The ADLGLSyncGenlockConfig.iSampleRate member is valid
  403. #define ADL_GLSYNC_CONFIGMASK_SAMPLERATE (1 << 2)
  404. /// The ADLGLSyncGenlockConfig.lSyncDelay member is valid
  405. #define ADL_GLSYNC_CONFIGMASK_SYNCDELAY (1 << 3)
  406. /// The ADLGLSyncGenlockConfig.iTriggerEdge member is valid
  407. #define ADL_GLSYNC_CONFIGMASK_TRIGGEREDGE (1 << 4)
  408. /// The ADLGLSyncGenlockConfig.iScanRateCoeff member is valid
  409. #define ADL_GLSYNC_CONFIGMASK_SCANRATECOEFF (1 << 5)
  410. /// The ADLGLSyncGenlockConfig.lFramelockCntlVector member is valid
  411. #define ADL_GLSYNC_CONFIGMASK_FRAMELOCKCNTL (1 << 6)
  412.  
  413.  
  414. // GL-Sync Framelock control mask (bit-vector)
  415.  
  416. /// Framelock is disabled
  417. #define ADL_GLSYNC_FRAMELOCKCNTL_NONE 0
  418. /// Framelock is enabled
  419. #define ADL_GLSYNC_FRAMELOCKCNTL_ENABLE ( 1 << 0)
  420.  
  421. #define ADL_GLSYNC_FRAMELOCKCNTL_DISABLE ( 1 << 1)
  422. #define ADL_GLSYNC_FRAMELOCKCNTL_SWAP_COUNTER_RESET ( 1 << 2)
  423. #define ADL_GLSYNC_FRAMELOCKCNTL_SWAP_COUNTER_ACK ( 1 << 3)
  424.  
  425. #define ADL_GLSYNC_FRAMELOCKCNTL_STATE_ENABLE ( 1 << 0)
  426.  
  427. // GL-Sync Framelock counters mask (bit-vector)
  428. #define ADL_GLSYNC_COUNTER_SWAP ( 1 << 0 )
  429.  
  430. // GL-Sync Signal Sources (unique values)
  431.  
  432. /// GL-Sync signal source is undefined
  433. #define ADL_GLSYNC_SIGNALSOURCE_UNDEFINED 0x00000100
  434. /// GL-Sync signal source is Free Run
  435. #define ADL_GLSYNC_SIGNALSOURCE_FREERUN 0x00000101
  436. /// GL-Sync signal source is the BNC GL-Sync port
  437. #define ADL_GLSYNC_SIGNALSOURCE_BNCPORT 0x00000102
  438. /// GL-Sync signal source is the RJ45(1) GL-Sync port
  439. #define ADL_GLSYNC_SIGNALSOURCE_RJ45PORT1 0x00000103
  440. /// GL-Sync signal source is the RJ45(2) GL-Sync port
  441. #define ADL_GLSYNC_SIGNALSOURCE_RJ45PORT2 0x00000104
  442.  
  443.  
  444. // GL-Sync Signal Types (unique values)
  445.  
  446. /// GL-Sync signal type is unknown
  447. #define ADL_GLSYNC_SIGNALTYPE_UNDEFINED 0
  448. /// GL-Sync signal type is 480I
  449. #define ADL_GLSYNC_SIGNALTYPE_480I 1
  450. /// GL-Sync signal type is 576I
  451. #define ADL_GLSYNC_SIGNALTYPE_576I 2
  452. /// GL-Sync signal type is 480P
  453. #define ADL_GLSYNC_SIGNALTYPE_480P 3
  454. /// GL-Sync signal type is 576P
  455. #define ADL_GLSYNC_SIGNALTYPE_576P 4
  456. /// GL-Sync signal type is 720P
  457. #define ADL_GLSYNC_SIGNALTYPE_720P 5
  458. /// GL-Sync signal type is 1080P
  459. #define ADL_GLSYNC_SIGNALTYPE_1080P 6
  460. /// GL-Sync signal type is 1080I
  461. #define ADL_GLSYNC_SIGNALTYPE_1080I 7
  462. /// GL-Sync signal type is SDI
  463. #define ADL_GLSYNC_SIGNALTYPE_SDI 8
  464. /// GL-Sync signal type is TTL
  465. #define ADL_GLSYNC_SIGNALTYPE_TTL 9
  466. /// GL_Sync signal type is Analog
  467. #define ADL_GLSYNC_SIGNALTYPE_ANALOG 10
  468.  
  469. // GL-Sync Sync Field options (unique values)
  470.  
  471. ///GL-Sync sync field option is undefined
  472. #define ADL_GLSYNC_SYNCFIELD_UNDEFINED 0
  473. ///GL-Sync sync field option is Sync to Field 1 (used for Interlaced signal types)
  474. #define ADL_GLSYNC_SYNCFIELD_BOTH 1
  475. ///GL-Sync sync field option is Sync to Both fields (used for Interlaced signal types)
  476. #define ADL_GLSYNC_SYNCFIELD_1 2
  477.  
  478.  
  479. // GL-Sync trigger edge options (unique values)
  480.  
  481. /// GL-Sync trigger edge is undefined
  482. #define ADL_GLSYNC_TRIGGEREDGE_UNDEFINED 0
  483. /// GL-Sync trigger edge is the rising edge
  484. #define ADL_GLSYNC_TRIGGEREDGE_RISING 1
  485. /// GL-Sync trigger edge is the falling edge
  486. #define ADL_GLSYNC_TRIGGEREDGE_FALLING 2
  487. /// GL-Sync trigger edge is both the rising and the falling edge
  488. #define ADL_GLSYNC_TRIGGEREDGE_BOTH 3
  489.  
  490.  
  491. // GL-Sync scan rate coefficient/multiplier options (unique values)
  492.  
  493. /// GL-Sync scan rate coefficient/multiplier is undefined
  494. #define ADL_GLSYNC_SCANRATECOEFF_UNDEFINED 0
  495. /// GL-Sync scan rate coefficient/multiplier is 5
  496. #define ADL_GLSYNC_SCANRATECOEFF_x5 1
  497. /// GL-Sync scan rate coefficient/multiplier is 4
  498. #define ADL_GLSYNC_SCANRATECOEFF_x4 2
  499. /// GL-Sync scan rate coefficient/multiplier is 3
  500. #define ADL_GLSYNC_SCANRATECOEFF_x3 3
  501. /// GL-Sync scan rate coefficient/multiplier is 5:2 (SMPTE)
  502. #define ADL_GLSYNC_SCANRATECOEFF_x5_DIV_2 4
  503. /// GL-Sync scan rate coefficient/multiplier is 2
  504. #define ADL_GLSYNC_SCANRATECOEFF_x2 5
  505. /// GL-Sync scan rate coefficient/multiplier is 3 : 2
  506. #define ADL_GLSYNC_SCANRATECOEFF_x3_DIV_2 6
  507. /// GL-Sync scan rate coefficient/multiplier is 5 : 4
  508. #define ADL_GLSYNC_SCANRATECOEFF_x5_DIV_4 7
  509. /// GL-Sync scan rate coefficient/multiplier is 1 (default)
  510. #define ADL_GLSYNC_SCANRATECOEFF_x1 8
  511. /// GL-Sync scan rate coefficient/multiplier is 4 : 5
  512. #define ADL_GLSYNC_SCANRATECOEFF_x4_DIV_5 9
  513. /// GL-Sync scan rate coefficient/multiplier is 2 : 3
  514. #define ADL_GLSYNC_SCANRATECOEFF_x2_DIV_3 10
  515. /// GL-Sync scan rate coefficient/multiplier is 1 : 2
  516. #define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_2 11
  517. /// GL-Sync scan rate coefficient/multiplier is 2 : 5 (SMPTE)
  518. #define ADL_GLSYNC_SCANRATECOEFF_x2_DIV_5 12
  519. /// GL-Sync scan rate coefficient/multiplier is 1 : 3
  520. #define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_3 13
  521. /// GL-Sync scan rate coefficient/multiplier is 1 : 4
  522. #define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_4 14
  523. /// GL-Sync scan rate coefficient/multiplier is 1 : 5
  524. #define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_5 15
  525.  
  526.  
  527. // GL-Sync port (signal presence) states (unique values)
  528.  
  529. /// GL-Sync port state is undefined
  530. #define ADL_GLSYNC_PORTSTATE_UNDEFINED 0
  531. /// GL-Sync port is not connected
  532. #define ADL_GLSYNC_PORTSTATE_NOCABLE 1
  533. /// GL-Sync port is Idle
  534. #define ADL_GLSYNC_PORTSTATE_IDLE 2
  535. /// GL-Sync port has an Input signal
  536. #define ADL_GLSYNC_PORTSTATE_INPUT 3
  537. /// GL-Sync port is Output
  538. #define ADL_GLSYNC_PORTSTATE_OUTPUT 4
  539.  
  540.  
  541. // GL-Sync LED types (used index within ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array) (unique values)
  542.  
  543. /// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the one LED of the BNC port
  544. #define ADL_GLSYNC_LEDTYPE_BNC 0
  545. /// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the Left LED of the RJ45(1) or RJ45(2) port
  546. #define ADL_GLSYNC_LEDTYPE_RJ45_LEFT 0
  547. /// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the Right LED of the RJ45(1) or RJ45(2) port
  548. #define ADL_GLSYNC_LEDTYPE_RJ45_RIGHT 1
  549.  
  550.  
  551. // GL-Sync LED colors (unique values)
  552.  
  553. /// GL-Sync LED undefined color
  554. #define ADL_GLSYNC_LEDCOLOR_UNDEFINED 0
  555. /// GL-Sync LED is unlit
  556. #define ADL_GLSYNC_LEDCOLOR_NOLIGHT 1
  557. /// GL-Sync LED is yellow
  558. #define ADL_GLSYNC_LEDCOLOR_YELLOW 2
  559. /// GL-Sync LED is red
  560. #define ADL_GLSYNC_LEDCOLOR_RED 3
  561. /// GL-Sync LED is green
  562. #define ADL_GLSYNC_LEDCOLOR_GREEN 4
  563. /// GL-Sync LED is flashing green
  564. #define ADL_GLSYNC_LEDCOLOR_FLASH_GREEN 5
  565.  
  566.  
  567. // GL-Sync Port Control (refers one GL-Sync Port) (unique values)
  568.  
  569. /// Used to configure the RJ54(1) or RJ42(2) port of GL-Sync is as Idle
  570. #define ADL_GLSYNC_PORTCNTL_NONE 0x00000000
  571. /// Used to configure the RJ54(1) or RJ42(2) port of GL-Sync is as Output
  572. #define ADL_GLSYNC_PORTCNTL_OUTPUT 0x00000001
  573.  
  574.  
  575. // GL-Sync Mode Control (refers one Display/Controller) (bitfields)
  576.  
  577. /// Used to configure the display to use internal timing (not genlocked)
  578. #define ADL_GLSYNC_MODECNTL_NONE 0x00000000
  579. /// Bitfield used to configure the display as genlocked (either as Timing Client or as Timing Server)
  580. #define ADL_GLSYNC_MODECNTL_GENLOCK 0x00000001
  581. /// Bitfield used to configure the display as Timing Server
  582. #define ADL_GLSYNC_MODECNTL_TIMINGSERVER 0x00000002
  583.  
  584. // GL-Sync Mode Status
  585. /// Display is currently not genlocked
  586. #define ADL_GLSYNC_MODECNTL_STATUS_NONE 0x00000000
  587. /// Display is currently genlocked
  588. #define ADL_GLSYNC_MODECNTL_STATUS_GENLOCK 0x00000001
  589. /// Display requires a mode switch
  590. #define ADL_GLSYNC_MODECNTL_STATUS_SETMODE_REQUIRED 0x00000002
  591. /// Display is capable of being genlocked
  592. #define ADL_GLSYNC_MODECNTL_STATUS_GENLOCK_ALLOWED 0x00000004
  593.  
  594. #define ADL_MAX_GLSYNC_PORTS 8
  595. #define ADL_MAX_GLSYNC_PORT_LEDS 8
  596.  
  597. // @}
  598.  
  599. /// \defgroup define_crossfirestate CrossfireX state of a particular adapter CrossfireX combination
  600. // @{
  601. #define ADL_XFIREX_STATE_NOINTERCONNECT ( 1 << 0 ) /* Dongle / cable is missing */
  602. #define ADL_XFIREX_STATE_DOWNGRADEPIPES ( 1 << 1 ) /* CrossfireX can be enabled if pipes are downgraded */
  603. #define ADL_XFIREX_STATE_DOWNGRADEMEM ( 1 << 2 ) /* CrossfireX cannot be enabled unless mem downgraded */
  604. #define ADL_XFIREX_STATE_REVERSERECOMMENDED ( 1 << 3 ) /* Card reversal recommended, CrossfireX cannot be enabled. */
  605. #define ADL_XFIREX_STATE_3DACTIVE ( 1 << 4 ) /* 3D client is active - CrossfireX cannot be safely enabled */
  606. #define ADL_XFIREX_STATE_MASTERONSLAVE ( 1 << 5 ) /* Dongle is OK but master is on slave */
  607. #define ADL_XFIREX_STATE_NODISPLAYCONNECT ( 1 << 6 ) /* No (valid) display connected to master card. */
  608. #define ADL_XFIREX_STATE_NOPRIMARYVIEW ( 1 << 7 ) /* CrossfireX is enabled but master is not current primary device */
  609. #define ADL_XFIREX_STATE_DOWNGRADEVISMEM ( 1 << 8 ) /* CrossfireX cannot be enabled unless visible mem downgraded */
  610. #define ADL_XFIREX_STATE_LESSTHAN8LANE_MASTER ( 1 << 9 ) /* CrossfireX can be enabled however performance not optimal due to <8 lanes */
  611. #define ADL_XFIREX_STATE_LESSTHAN8LANE_SLAVE ( 1 << 10 ) /* CrossfireX can be enabled however performance not optimal due to <8 lanes */
  612. #define ADL_XFIREX_STATE_PEERTOPEERFAILED ( 1 << 11 ) /* CrossfireX cannot be enabled due to failed peer to peer test */
  613. #define ADL_XFIREX_STATE_MEMISDOWNGRADED ( 1 << 16 ) /* Notification that memory is currently downgraded */
  614. #define ADL_XFIREX_STATE_PIPESDOWNGRADED ( 1 << 17 ) /* Notification that pipes are currently downgraded */
  615. #define ADL_XFIREX_STATE_XFIREXACTIVE ( 1 << 18 ) /* CrossfireX is enabled on current device */
  616. #define ADL_XFIREX_STATE_VISMEMISDOWNGRADED ( 1 << 19 ) /* Notification that visible FB memory is currently downgraded */
  617. #define ADL_XFIREX_STATE_INVALIDINTERCONNECTION ( 1 << 20 ) /* Cannot support current inter-connection configuration */
  618. #define ADL_XFIREX_STATE_NONP2PMODE ( 1 << 21 ) /* CrossfireX will only work with clients supporting non P2P mode */
  619. #define ADL_XFIREX_STATE_DOWNGRADEMEMBANKS ( 1 << 22 ) /* CrossfireX cannot be enabled unless memory banks downgraded */
  620. #define ADL_XFIREX_STATE_MEMBANKSDOWNGRADED ( 1 << 23 ) /* Notification that memory banks are currently downgraded */
  621. #define ADL_XFIREX_STATE_DUALDISPLAYSALLOWED ( 1 << 24 ) /* Extended desktop or clone mode is allowed. */
  622. #define ADL_XFIREX_STATE_P2P_APERTURE_MAPPING ( 1 << 25 ) /* P2P mapping was through peer aperture */
  623. #define ADL_XFIREX_STATE_P2PFLUSH_REQUIRED ADL_XFIREX_STATE_P2P_APERTURE_MAPPING /* For back compatible */
  624. #define ADL_XFIREX_STATE_XSP_CONNECTED ( 1 << 26 ) /* There is CrossfireX side port connection between GPUs */
  625. #define ADL_XFIREX_STATE_ENABLE_CF_REBOOT_REQUIRED ( 1 << 27 ) /* System needs a reboot bofore enable CrossfireX */
  626. #define ADL_XFIREX_STATE_DISABLE_CF_REBOOT_REQUIRED ( 1 << 28 ) /* System needs a reboot after disable CrossfireX */
  627. #define ADL_XFIREX_STATE_DRV_HANDLE_DOWNGRADE_KEY ( 1 << 29 ) /* Indicate base driver handles the downgrade key updating */
  628. #define ADL_XFIREX_STATE_CF_RECONFIG_REQUIRED ( 1 << 30 ) /* CrossfireX need to be reconfigured by CCC because of a LDA chain broken */
  629. #define ADL_XFIREX_STATE_ERRORGETTINGSTATUS ( 1 << 31 ) /* Could not obtain current status */
  630. // @}
  631.  
  632. ///////////////////////////////////////////////////////////////////////////
  633. // ADL_DISPLAY_ADJUSTMENT_PIXELFORMAT adjustment values
  634. // (bit-vector)
  635. ///////////////////////////////////////////////////////////////////////////
  636. /// \defgroup define_pixel_formats Pixel Formats values
  637. /// This group defines the various Pixel Formats that a particular digital display can support. \n
  638. /// Since a display can support multiple formats, these values can be bit-or'ed to indicate the various formats \n
  639. // @{
  640. #define ADL_DISPLAY_PIXELFORMAT_UNKNOWN 0
  641. #define ADL_DISPLAY_PIXELFORMAT_RGB (1 << 0)
  642. #define ADL_DISPLAY_PIXELFORMAT_YCRCB444 (1 << 1) //Limited range
  643. #define ADL_DISPLAY_PIXELFORMAT_YCRCB422 (1 << 2) //Limited range
  644. #define ADL_DISPLAY_PIXELFORMAT_RGB_LIMITED_RANGE (1 << 3)
  645. #define ADL_DISPLAY_PIXELFORMAT_RGB_FULL_RANGE ADL_DISPLAY_PIXELFORMAT_RGB //Full range
  646. // @}
  647.  
  648. /// \defgroup define_contype Connector Type Values
  649. /// ADLDisplayConfig.ulConnectorType defines
  650. // @{
  651. #define ADL_DL_DISPLAYCONFIG_CONTYPE_UNKNOWN 0
  652. #define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NONI2C_JP 1
  653. #define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_JPN 2
  654. #define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NA 3
  655. #define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NONI2C_NA 4
  656. #define ADL_DL_DISPLAYCONFIG_CONTYPE_VGA 5
  657. #define ADL_DL_DISPLAYCONFIG_CONTYPE_DVI_D 6
  658. #define ADL_DL_DISPLAYCONFIG_CONTYPE_DVI_I 7
  659. #define ADL_DL_DISPLAYCONFIG_CONTYPE_HDMI_TYPE_A 8
  660. #define ADL_DL_DISPLAYCONFIG_CONTYPE_HDMI_TYPE_B 9
  661. #define ADL_DL_DISPLAYCONFIG_CONTYPE_DISPLAYPORT 10
  662. // @}
  663.  
  664.  
  665. ///////////////////////////////////////////////////////////////////////////
  666. // ADL_DISPLAY_DISPLAYINFO_ Definitions
  667. // for ADLDisplayInfo.iDisplayInfoMask and ADLDisplayInfo.iDisplayInfoValue
  668. // (bit-vector)
  669. ///////////////////////////////////////////////////////////////////////////
  670. /// \defgroup define_displayinfomask Display Info Mask Values
  671. // @{
  672. #define ADL_DISPLAY_DISPLAYINFO_DISPLAYCONNECTED 0x00000001
  673. #define ADL_DISPLAY_DISPLAYINFO_DISPLAYMAPPED 0x00000002
  674. #define ADL_DISPLAY_DISPLAYINFO_NONLOCAL 0x00000004
  675. #define ADL_DISPLAY_DISPLAYINFO_FORCIBLESUPPORTED 0x00000008
  676. #define ADL_DISPLAY_DISPLAYINFO_GENLOCKSUPPORTED 0x00000010
  677. #define ADL_DISPLAY_DISPLAYINFO_MULTIVPU_SUPPORTED 0x00000020
  678.  
  679. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_SINGLE 0x00000100
  680. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_CLONE 0x00000200
  681.  
  682. /// Legacy support for XP
  683. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_2VSTRETCH 0x00000400
  684. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_2HSTRETCH 0x00000800
  685. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_EXTENDED 0x00001000
  686.  
  687. /// More support manners
  688. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_NSTRETCH1GPU 0x00010000
  689. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_NSTRETCHNGPU 0x00020000
  690. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_RESERVED2 0x00040000
  691. #define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_RESERVED3 0x00080000
  692.  
  693. // @}
  694.  
  695.  
  696. ///////////////////////////////////////////////////////////////////////////
  697. // ADL_ADAPTER_DISPLAY_MANNER_SUPPORTED_ Definitions
  698. // for ADLAdapterDisplayCap of ADL_Adapter_Display_Cap()
  699. // (bit-vector)
  700. ///////////////////////////////////////////////////////////////////////////
  701. /// \defgroup define_adaptermanner Adapter Manner Support Values
  702. // @{
  703. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NOTACTIVE 0x00000001
  704. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_SINGLE 0x00000002
  705. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_CLONE 0x00000004
  706. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NSTRETCH1GPU 0x00000008
  707. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NSTRETCHNGPU 0x00000010
  708.  
  709. /// Legacy support for XP
  710. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_2VSTRETCH 0x00000020
  711. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_2HSTRETCH 0x00000040
  712. #define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_EXTENDED 0x00000080
  713.  
  714. #define ADL_ADAPTER_DISPLAYCAP_PREFERDISPLAY_SUPPORTED 0x00000100
  715. #define ADL_ADAPTER_DISPLAYCAP_BEZEL_SUPPORTED 0x00000200
  716.  
  717.  
  718. ///////////////////////////////////////////////////////////////////////////
  719. // ADL_DISPLAY_DISPLAYMAP_MANNER_ Definitions
  720. // for ADLDisplayMap.iDisplayMapMask and ADLDisplayMap.iDisplayMapValue
  721. // (bit-vector)
  722. ///////////////////////////////////////////////////////////////////////////
  723. #define ADL_DISPLAY_DISPLAYMAP_MANNER_RESERVED 0x00000001
  724. #define ADL_DISPLAY_DISPLAYMAP_MANNER_NOTACTIVE 0x00000002
  725. #define ADL_DISPLAY_DISPLAYMAP_MANNER_SINGLE 0x00000004
  726. #define ADL_DISPLAY_DISPLAYMAP_MANNER_CLONE 0x00000008
  727. #define ADL_DISPLAY_DISPLAYMAP_MANNER_RESERVED1 0x00000010 // Removed NSTRETCH
  728. #define ADL_DISPLAY_DISPLAYMAP_MANNER_HSTRETCH 0x00000020
  729. #define ADL_DISPLAY_DISPLAYMAP_MANNER_VSTRETCH 0x00000040
  730. #define ADL_DISPLAY_DISPLAYMAP_MANNER_VLD 0x00000080
  731.  
  732. // @}
  733.  
  734. ///////////////////////////////////////////////////////////////////////////
  735. // ADL_DISPLAY_DISPLAYMAP_OPTION_ Definitions
  736. // for iOption in function ADL_Display_DisplayMapConfig_Get
  737. // (bit-vector)
  738. ///////////////////////////////////////////////////////////////////////////
  739. #define ADL_DISPLAY_DISPLAYMAP_OPTION_GPUINFO 0x00000001
  740.  
  741. ///////////////////////////////////////////////////////////////////////////
  742. // ADL_DISPLAY_DISPLAYTARGET_ Definitions
  743. // for ADLDisplayTarget.iDisplayTargetMask and ADLDisplayTarget.iDisplayTargetValue
  744. // (bit-vector)
  745. ///////////////////////////////////////////////////////////////////////////
  746. #define ADL_DISPLAY_DISPLAYTARGET_PREFERRED 0x00000001
  747.  
  748. ///////////////////////////////////////////////////////////////////////////
  749. // ADL_DISPLAY_POSSIBLEMAPRESULT_VALID Definitions
  750. // for ADLPossibleMapResult.iPossibleMapResultMask and ADLPossibleMapResult.iPossibleMapResultValue
  751. // (bit-vector)
  752. ///////////////////////////////////////////////////////////////////////////
  753. #define ADL_DISPLAY_POSSIBLEMAPRESULT_VALID 0x00000001
  754. #define ADL_DISPLAY_POSSIBLEMAPRESULT_BEZELSUPPORTED 0x00000002
  755.  
  756.  
  757. ///////////////////////////////////////////////////////////////////////////
  758. // ADL_DISPLAY_MODE_ Definitions
  759. // for ADLMode.iModeMask, ADLMode.iModeValue, and ADLMode.iModeFlag
  760. // (bit-vector)
  761. ///////////////////////////////////////////////////////////////////////////
  762. /// \defgroup define_displaymode Display Mode Values
  763. // @{
  764. #define ADL_DISPLAY_MODE_COLOURFORMAT_565 0x00000001
  765. #define ADL_DISPLAY_MODE_COLOURFORMAT_8888 0x00000002
  766. #define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_000 0x00000004
  767. #define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_090 0x00000008
  768. #define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_180 0x00000010
  769. #define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_270 0x00000020
  770. #define ADL_DISPLAY_MODE_REFRESHRATE_ROUNDED 0x00000040
  771. #define ADL_DISPLAY_MODE_REFRESHRATE_ONLY 0x00000080
  772.  
  773. #define ADL_DISPLAY_MODE_PROGRESSIVE_FLAG 0
  774. #define ADL_DISPLAY_MODE_INTERLACED_FLAG 2
  775. // @}
  776.  
  777. ///////////////////////////////////////////////////////////////////////////
  778. // ADL_OSMODEINFO Definitions
  779. ///////////////////////////////////////////////////////////////////////////
  780. /// \defgroup define_osmode OS Mode Values
  781. // @{
  782. #define ADL_OSMODEINFOXPOS_DEFAULT -640
  783. #define ADL_OSMODEINFOYPOS_DEFAULT 0
  784. #define ADL_OSMODEINFOXRES_DEFAULT 640
  785. #define ADL_OSMODEINFOYRES_DEFAULT 480
  786. #define ADL_OSMODEINFOXRES_DEFAULT800 800
  787. #define ADL_OSMODEINFOYRES_DEFAULT600 600
  788. #define ADL_OSMODEINFOREFRESHRATE_DEFAULT 60
  789. #define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT 8
  790. #define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT16 16
  791. #define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT24 24
  792. #define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT32 32
  793. #define ADL_OSMODEINFOORIENTATION_DEFAULT 0
  794. #define ADL_OSMODEINFOORIENTATION_DEFAULT_WIN7 DISPLAYCONFIG_ROTATION_FORCE_UINT32
  795. #define ADL_OSMODEFLAG_DEFAULT 0
  796. // @}
  797.  
  798.  
  799. ///////////////////////////////////////////////////////////////////////////
  800. // ADLPurposeCode Enumeration
  801. ///////////////////////////////////////////////////////////////////////////
  802. enum ADLPurposeCode
  803. {
  804. ADL_PURPOSECODE_NORMAL = 0,
  805. ADL_PURPOSECODE_HIDE_MODE_SWITCH,
  806. ADL_PURPOSECODE_MODE_SWITCH,
  807. ADL_PURPOSECODE_ATTATCH_DEVICE,
  808. ADL_PURPOSECODE_DETACH_DEVICE,
  809. ADL_PURPOSECODE_SETPRIMARY_DEVICE,
  810. ADL_PURPOSECODE_GDI_ROTATION,
  811. ADL_PURPOSECODE_ATI_ROTATION,
  812. };
  813. ///////////////////////////////////////////////////////////////////////////
  814. // ADLAngle Enumeration
  815. ///////////////////////////////////////////////////////////////////////////
  816. enum ADLAngle
  817. {
  818. ADL_ANGLE_LANDSCAPE = 0,
  819. ADL_ANGLE_ROTATERIGHT = 90,
  820. ADL_ANGLE_ROTATE180 = 180,
  821. ADL_ANGLE_ROTATELEFT = 270,
  822. };
  823.  
  824. ///////////////////////////////////////////////////////////////////////////
  825. // ADLOrientationDataType Enumeration
  826. ///////////////////////////////////////////////////////////////////////////
  827. enum ADLOrientationDataType
  828. {
  829. ADL_ORIENTATIONTYPE_OSDATATYPE,
  830. ADL_ORIENTATIONTYPE_NONOSDATATYPE
  831. };
  832.  
  833. ///////////////////////////////////////////////////////////////////////////
  834. // ADLPanningMode Enumeration
  835. ///////////////////////////////////////////////////////////////////////////
  836. enum ADLPanningMode
  837. {
  838. ADL_PANNINGMODE_NO_PANNING = 0,
  839. ADL_PANNINGMODE_AT_LEAST_ONE_NO_PANNING = 1,
  840. ADL_PANNINGMODE_ALLOW_PANNING = 2,
  841. };
  842.  
  843. ///////////////////////////////////////////////////////////////////////////
  844. // ADLLARGEDESKTOPTYPE Enumeration
  845. ///////////////////////////////////////////////////////////////////////////
  846. enum ADLLARGEDESKTOPTYPE
  847. {
  848. ADL_LARGEDESKTOPTYPE_NORMALDESKTOP = 0,
  849. ADL_LARGEDESKTOPTYPE_PSEUDOLARGEDESKTOP = 1,
  850. ADL_LARGEDESKTOPTYPE_VERYLARGEDESKTOP = 2,
  851. };
  852.  
  853. // Other Definitions for internal use
  854.  
  855. // Values for ADL_Display_WriteAndReadI2CRev_Get()
  856.  
  857. #define ADL_I2C_MAJOR_API_REV 0x00000001
  858. #define ADL_I2C_MINOR_DEFAULT_API_REV 0x00000000
  859. #define ADL_I2C_MINOR_OEM_API_REV 0x00000001
  860.  
  861. // Values for ADL_Display_WriteAndReadI2C()
  862. #define ADL_DL_I2C_LINE_OEM 0x00000001
  863. #define ADL_DL_I2C_LINE_OD_CONTROL 0x00000002
  864. #define ADL_DL_I2C_LINE_OEM2 0x00000003
  865.  
  866. // Max size of I2C data buffer
  867. #define ADL_DL_I2C_MAXDATASIZE 0x00000040
  868. #define ADL_DL_I2C_MAXWRITEDATASIZE 0x0000000C
  869. #define ADL_DL_I2C_MAXADDRESSLENGTH 0x00000006
  870. #define ADL_DL_I2C_MAXOFFSETLENGTH 0x00000004
  871.  
  872.  
  873. //values for ADLDisplayProperty.iPropertyType
  874. #define ADL_DL_DISPLAYPROPERTY_TYPE_UNKNOWN 0
  875. #define ADL_DL_DISPLAYPROPERTY_TYPE_EXPANSIONMODE 1
  876. #define ADL_DL_DISPLAYPROPERTY_TYPE_USEUNDERSCANSCALING 2
  877.  
  878. //values for ADLDisplayProperty.iExpansionMode
  879. #define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_CENTER 0
  880. #define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_FULLSCREEN 1
  881. #define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_ASPECTRATIO 2
  882.  
  883. //values for ADL_Display_DitherState_Get
  884. #define ADL_DL_DISPLAY_DITHER_UNKNOWN 0
  885. #define ADL_DL_DISPLAY_DITHER_DISABLED 1
  886. #define ADL_DL_DISPLAY_DITHER_ENABLED 2
  887.  
  888. /// Display Get Cached EDID flag
  889. #define ADL_MAX_EDIDDATA_SIZE 256 // number of UCHAR
  890. #define ADL_MAX_EDID_EXTENSION_BLOCKS 3
  891.  
  892. #define ADL_DL_CONTROLLER_OVERLAY_ALPHA 0
  893. #define ADL_DL_CONTROLLER_OVERLAY_ALPHAPERPIX 1
  894.  
  895. #define ADL_DL_DISPLAY_DATA_PACKET__INFO_PACKET_RESET 0x00000000
  896. #define ADL_DL_DISPLAY_DATA_PACKET__INFO_PACKET_SET 0x00000001
  897.  
  898. ///\defgroup define_display_packet Display Data Packet Types
  899. // @{
  900. #define ADL_DL_DISPLAY_DATA_PACKET__TYPE__AVI 0x00000001
  901. #define ADL_DL_DISPLAY_DATA_PACKET__TYPE__RESERVED 0x00000002
  902. #define ADL_DL_DISPLAY_DATA_PACKET__TYPE__VENDORINFO 0x00000004
  903. // @}
  904.  
  905. // matrix types
  906. #define ADL_GAMUT_MATRIX_SD 1 // SD matrix i.e. BT601
  907. #define ADL_GAMUT_MATRIX_HD 2 // HD matrix i.e. BT709
  908.  
  909. ///\defgroup define_clockinfo_flags Clock flags
  910. /// Used by ADLAdapterODClockInfo.iFlag
  911. // @{
  912. #define ADL_DL_CLOCKINFO_FLAG_FULLSCREEN3DONLY 0x00000001
  913. #define ADL_DL_CLOCKINFO_FLAG_ALWAYSFULLSCREEN3D 0x00000002
  914. #define ADL_DL_CLOCKINFO_FLAG_VPURECOVERYREDUCED 0x00000004
  915. #define ADL_DL_CLOCKINFO_FLAG_THERMALPROTECTION 0x00000008
  916. // @}
  917.  
  918. // Supported GPUs
  919. // ADL_Display_PowerXpressActiveGPU_Get()
  920. #define ADL_DL_POWERXPRESS_GPU_INTEGRATED 1
  921. #define ADL_DL_POWERXPRESS_GPU_DISCRETE 2
  922.  
  923. // Possible values for lpOperationResult
  924. // ADL_Display_PowerXpressActiveGPU_Get()
  925. #define ADL_DL_POWERXPRESS_SWITCH_RESULT_STARTED 1 // Switch procedure has been started
  926. #define ADL_DL_POWERXPRESS_SWITCH_RESULT_DECLINED 2 // Switch procedure cannot be started
  927. #define ADL_DL_POWERXPRESS_SWITCH_RESULT_ALREADY 3 // System already has required status
  928.  
  929. // PowerXpress support version
  930. // ADL_Display_PowerXpressVersion_Get()
  931. #define ADL_DL_POWERXPRESS_VERSION_MAJOR 2 // Current PowerXpress support version 2.0
  932. #define ADL_DL_POWERXPRESS_VERSION_MINOR 0
  933.  
  934. #define ADL_DL_POWERXPRESS_VERSION (((ADL_DL_POWERXPRESS_VERSION_MAJOR) << 16) | ADL_DL_POWERXPRESS_VERSION_MINOR)
  935.  
  936. //values for ADLThermalControllerInfo.iThermalControllerDomain
  937. #define ADL_DL_THERMAL_DOMAIN_OTHER 0
  938. #define ADL_DL_THERMAL_DOMAIN_GPU 1
  939.  
  940. //values for ADLThermalControllerInfo.iFlags
  941. #define ADL_DL_THERMAL_FLAG_INTERRUPT 1
  942. #define ADL_DL_THERMAL_FLAG_FANCONTROL 2
  943.  
  944. ///\defgroup define_fanctrl Fan speed cotrol
  945. /// Values for ADLFanSpeedInfo.iFlags
  946. // @{
  947. #define ADL_DL_FANCTRL_SUPPORTS_PERCENT_READ 1
  948. #define ADL_DL_FANCTRL_SUPPORTS_PERCENT_WRITE 2
  949. #define ADL_DL_FANCTRL_SUPPORTS_RPM_READ 4
  950. #define ADL_DL_FANCTRL_SUPPORTS_RPM_WRITE 8
  951. // @}
  952.  
  953. //values for ADLFanSpeedValue.iSpeedType
  954. #define ADL_DL_FANCTRL_SPEED_TYPE_PERCENT 1
  955. #define ADL_DL_FANCTRL_SPEED_TYPE_RPM 2
  956.  
  957. //values for ADLFanSpeedValue.iFlags
  958. #define ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED 1
  959.  
  960. // MVPU interfaces
  961. #define ADL_DL_MAX_MVPU_ADAPTERS 4
  962. #define MVPU_ADAPTER_0 0x00000001
  963. #define MVPU_ADAPTER_1 0x00000002
  964. #define MVPU_ADAPTER_2 0x00000004
  965. #define MVPU_ADAPTER_3 0x00000008
  966. #define ADL_DL_MAX_REGISTRY_PATH 256
  967.  
  968. //values for ADLMVPUStatus.iStatus
  969. #define ADL_DL_MVPU_STATUS_OFF 0
  970. #define ADL_DL_MVPU_STATUS_ON 1
  971.  
  972. // values for ASIC family
  973. ///\defgroup define_Asic_type Detailed asic types
  974. /// Defines for Adapter ASIC family type
  975. // @{
  976. #define ADL_ASIC_UNDEFINED 0
  977. #define ADL_ASIC_DISCRETE (1 << 0)
  978. #define ADL_ASIC_INTEGRATED (1 << 1)
  979. #define ADL_ASIC_FIREGL (1 << 2)
  980. #define ADL_ASIC_FIREMV (1 << 3)
  981. #define ADL_ASIC_XGP (1 << 4)
  982. #define ADL_ASIC_FUSION (1 << 5)
  983. // @}
  984.  
  985. ///\defgroup define_detailed_timing_flags Detailed Timimg Flags
  986. /// Defines for ADLDetailedTiming.sTimingFlags field
  987. // @{
  988. #define ADL_DL_TIMINGFLAG_DOUBLE_SCAN 0x0001
  989. #define ADL_DL_TIMINGFLAG_INTERLACED 0x0002
  990. #define ADL_DL_TIMINGFLAG_H_SYNC_POLARITY 0x0004
  991. #define ADL_DL_TIMINGFLAG_V_SYNC_POLARITY 0x0008
  992. // @}
  993.  
  994. ///\defgroup define_modetiming_standard Timing Standards
  995. /// Defines for ADLDisplayModeInfo.iTimingStandard field
  996. // @{
  997. #define ADL_DL_MODETIMING_STANDARD_CVT 0x00000001 // CVT Standard
  998. #define ADL_DL_MODETIMING_STANDARD_GTF 0x00000002 // GFT Standard
  999. #define ADL_DL_MODETIMING_STANDARD_DMT 0x00000004 // DMT Standard
  1000. #define ADL_DL_MODETIMING_STANDARD_CUSTOM 0x00000008 // User-defined standard
  1001. #define ADL_DL_MODETIMING_STANDARD_DRIVER_DEFAULT 0x00000010 // Remove Mode from overriden list
  1002. // @}
  1003.  
  1004. // \defgroup define_xserverinfo driver x-server info
  1005. /// These flags are used by ADL_XServerInfo_Get()
  1006. // @
  1007.  
  1008. /// Xinerama is active in the x-server, Xinerama extension may report it to be active but it
  1009. /// may not be active in x-server
  1010. #define ADL_XSERVERINFO_XINERAMAACTIVE (1<<0)
  1011.  
  1012. /// RandR 1.2 is supported by driver, RandR extension may report version 1.2
  1013. /// but driver may not support it
  1014. #define ADL_XSERVERINFO_RANDR12SUPPORTED (1<<1)
  1015. // @
  1016.  
  1017.  
  1018. ///\defgroup define_eyefinity_constants Eyefinity Definitions
  1019. // @{
  1020.  
  1021. #define ADL_CONTROLLERVECTOR_0 1 // ADL_CONTROLLERINDEX_0 = 0, (1 << ADL_CONTROLLERINDEX_0)
  1022. #define ADL_CONTROLLERVECTOR_1 2 // ADL_CONTROLLERINDEX_1 = 1, (1 << ADL_CONTROLLERINDEX_1)
  1023.  
  1024. #define ADL_DISPLAY_SLSGRID_ORIENTATION_000 0x00000001
  1025. #define ADL_DISPLAY_SLSGRID_ORIENTATION_090 0x00000002
  1026. #define ADL_DISPLAY_SLSGRID_ORIENTATION_180 0x00000004
  1027. #define ADL_DISPLAY_SLSGRID_ORIENTATION_270 0x00000008
  1028. #define ADL_DISPLAY_SLSGRID_CAP_OPTION_RELATIVETO_LANDSCAPE 0x00000001
  1029. #define ADL_DISPLAY_SLSGRID_CAP_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
  1030. #define ADL_DISPLAY_SLSGRID_PORTAIT_MODE 0x00000004
  1031.  
  1032.  
  1033. #define ADL_DISPLAY_SLSMAPCONFIG_GET_OPTION_RELATIVETO_LANDSCAPE 0x00000001
  1034. #define ADL_DISPLAY_SLSMAPCONFIG_GET_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
  1035.  
  1036. #define ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_LANDSCAPE 0x00000001
  1037. #define ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
  1038.  
  1039. #define ADL_DISPLAY_SLSMAPCONFIG_REARRANGE_OPTION_RELATIVETO_LANDSCAPE 0x00000001
  1040. #define ADL_DISPLAY_SLSMAPCONFIG_REARRANGE_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
  1041.  
  1042.  
  1043. #define ADL_DISPLAY_SLSGRID_RELATIVETO_LANDSCAPE 0x00000010
  1044. #define ADL_DISPLAY_SLSGRID_RELATIVETO_CURRENTANGLE 0x00000020
  1045.  
  1046.  
  1047. /// The bit mask identifies displays is currently in bezel mode.
  1048. #define ADL_DISPLAY_SLSMAP_BEZELMODE 0x00000010
  1049. /// The bit mask identifies displays from this map is arranged.
  1050. #define ADL_DISPLAY_SLSMAP_DISPLAYARRANGED 0x00000002
  1051. /// The bit mask identifies this map is currently in used for the current adapter.
  1052. #define ADL_DISPLAY_SLSMAP_CURRENTCONFIG 0x00000004
  1053.  
  1054. ///For onlay active SLS map info
  1055. #define ADL_DISPLAY_SLSMAPINDEXLIST_OPTION_ACTIVE 0x00000001
  1056.  
  1057. ///For Bezel
  1058. #define ADL_DISPLAY_BEZELOFFSET_STEPBYSTEPSET 0x00000004
  1059. #define ADL_DISPLAY_BEZELOFFSET_COMMIT 0x00000008
  1060.  
  1061. // @}
  1062.  
  1063. // @}
  1064. #endif /* ADL_DEFINES_H_ */
  1065.  
  1066.  
  1067.  
  1068.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement