Imported Upstream version 2.2.0
[deb_libcec.git] / src / lib / platform / adl / adl_defines.h
CommitLineData
cbbe90dd
JB
1//
2// Copyright (c) 2008 - 2012 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 Miscellaneous 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 250
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/// Combine write-read DDC block access command.
60#define ADL_DDC_OPTION_COMBOWRITEREAD 0x00000010
61// @}
62
63/// \name Values for
64/// ADLI2C.iAction used with ADL_Display_WriteAndReadI2C()
65// @{
66
67#define ADL_DL_I2C_ACTIONREAD 0x00000001
68#define ADL_DL_I2C_ACTIONWRITE 0x00000002
69#define ADL_DL_I2C_ACTIONREAD_REPEATEDSTART 0x00000003
70// @}
71
72
73// @} //Misc
74
75/// \defgroup define_adl_results Result Codes
76/// This group of definitions are the various results returned by all ADL functions \n
77// @{
78/// All OK, but need to wait
79#define ADL_OK_WAIT 4
80/// All OK, but need restart
81#define ADL_OK_RESTART 3
82/// All OK but need mode change
83#define ADL_OK_MODE_CHANGE 2
84/// All OK, but with warning
85#define ADL_OK_WARNING 1
86/// ADL function completed successfully
87#define ADL_OK 0
88/// Generic Error. Most likely one or more of the Escape calls to the driver failed!
89#define ADL_ERR -1
90/// ADL not initialized
91#define ADL_ERR_NOT_INIT -2
92/// One of the parameter passed is invalid
93#define ADL_ERR_INVALID_PARAM -3
94/// One of the parameter size is invalid
95#define ADL_ERR_INVALID_PARAM_SIZE -4
96/// Invalid ADL index passed
97#define ADL_ERR_INVALID_ADL_IDX -5
98/// Invalid controller index passed
99#define ADL_ERR_INVALID_CONTROLLER_IDX -6
100/// Invalid display index passed
101#define ADL_ERR_INVALID_DIPLAY_IDX -7
102/// Function not supported by the driver
103#define ADL_ERR_NOT_SUPPORTED -8
104/// Null Pointer error
105#define ADL_ERR_NULL_POINTER -9
106/// Call can't be made due to disabled adapter
107#define ADL_ERR_DISABLED_ADAPTER -10
108/// Invalid Callback
109#define ADL_ERR_INVALID_CALLBACK -11
110/// Display Resource conflict
111#define ADL_ERR_RESOURCE_CONFLICT -12
112
113// @}
114/// </A>
115
116/// \defgroup define_display_type Display Type
117/// Define Monitor/CRT display type
118// @{
119/// Define Monitor display type
120#define ADL_DT_MONITOR 0
121/// Define TV display type
122#define ADL_DT_TELEVISION 1
123/// Define LCD display type
124#define ADL_DT_LCD_PANEL 2
125/// Define DFP display type
126#define ADL_DT_DIGITAL_FLAT_PANEL 3
127/// Define Componment Video display type
128#define ADL_DT_COMPONENT_VIDEO 4
129/// Define Projector display type
130#define ADL_DT_PROJECTOR 5
131// @}
132
133/// \defgroup define_display_connection_type Display Connection Type
134// @{
135/// Define unknown display output type
136#define ADL_DOT_UNKNOWN 0
137/// Define composite display output type
138#define ADL_DOT_COMPOSITE 1
139/// Define SVideo display output type
140#define ADL_DOT_SVIDEO 2
141/// Define analog display output type
142#define ADL_DOT_ANALOG 3
143/// Define digital display output type
144#define ADL_DOT_DIGITAL 4
145// @}
146
147/// \defgroup define_color_type Display Color Type and Source
148/// Define Display Color Type and Source
149// @{
150#define ADL_DISPLAY_COLOR_BRIGHTNESS (1 << 0)
151#define ADL_DISPLAY_COLOR_CONTRAST (1 << 1)
152#define ADL_DISPLAY_COLOR_SATURATION (1 << 2)
153#define ADL_DISPLAY_COLOR_HUE (1 << 3)
154#define ADL_DISPLAY_COLOR_TEMPERATURE (1 << 4)
155
156/// Color Temperature Source is EDID
157#define ADL_DISPLAY_COLOR_TEMPERATURE_SOURCE_EDID (1 << 5)
158/// Color Temperature Source is User
159#define ADL_DISPLAY_COLOR_TEMPERATURE_SOURCE_USER (1 << 6)
160// @}
161
162/// \defgroup define_adjustment_capabilities Display Adjustment Capabilities
163/// Display adjustment capabilities values. Returned by ADL_Display_AdjustCaps_Get
164// @{
165#define ADL_DISPLAY_ADJUST_OVERSCAN (1 << 0)
166#define ADL_DISPLAY_ADJUST_VERT_POS (1 << 1)
167#define ADL_DISPLAY_ADJUST_HOR_POS (1 << 2)
168#define ADL_DISPLAY_ADJUST_VERT_SIZE (1 << 3)
169#define ADL_DISPLAY_ADJUST_HOR_SIZE (1 << 4)
170#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)
171#define ADL_DISPLAY_CUSTOMMODES (1<<5)
172#define ADL_DISPLAY_ADJUST_UNDERSCAN (1<<6)
173// @}
174
175
176/// \defgroup define_desktop_config Desktop Configuration Flags
177/// These flags are used by ADL_DesktopConfig_xxx
178// @{
179#define ADL_DESKTOPCONFIG_UNKNOWN 0 /* UNKNOWN desktop config */
180#define ADL_DESKTOPCONFIG_SINGLE (1 << 0) /* Single */
181#define ADL_DESKTOPCONFIG_CLONE (1 << 2) /* Clone */
182#define ADL_DESKTOPCONFIG_BIGDESK_H (1 << 4) /* Big Desktop Horizontal */
183#define ADL_DESKTOPCONFIG_BIGDESK_V (1 << 5) /* Big Desktop Vertical */
184#define ADL_DESKTOPCONFIG_BIGDESK_HR (1 << 6) /* Big Desktop Reverse Horz */
185#define ADL_DESKTOPCONFIG_BIGDESK_VR (1 << 7) /* Big Desktop Reverse Vert */
186#define ADL_DESKTOPCONFIG_RANDR12 (1 << 8) /* RandR 1.2 Multi-display */
187// @}
188
189/// needed for ADLDDCInfo structure
190#define ADL_MAX_DISPLAY_NAME 256
191
192/// \defgroup define_edid_flags Values for ulDDCInfoFlag
193/// defines for ulDDCInfoFlag EDID flag
194// @{
195#define ADL_DISPLAYDDCINFOEX_FLAG_PROJECTORDEVICE (1 << 0)
196#define ADL_DISPLAYDDCINFOEX_FLAG_EDIDEXTENSION (1 << 1)
197#define ADL_DISPLAYDDCINFOEX_FLAG_DIGITALDEVICE (1 << 2)
198#define ADL_DISPLAYDDCINFOEX_FLAG_HDMIAUDIODEVICE (1 << 3)
199#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORTS_AI (1 << 4)
200#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC601 (1 << 5)
201#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC709 (1 << 6)
202// @}
203
204/// \defgroup define_displayinfo_connector Display Connector Type
205/// defines for ADLDisplayInfo.iDisplayConnector
206// @{
207#define ADL_DISPLAY_CONTYPE_UNKNOWN 0
208#define ADL_DISPLAY_CONTYPE_VGA 1
209#define ADL_DISPLAY_CONTYPE_DVI_D 2
210#define ADL_DISPLAY_CONTYPE_DVI_I 3
211#define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NTSC 4
212#define ADL_DISPLAY_CONTYPE_ATICVDONGLE_JPN 5
213#define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_JPN 6
214#define ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_NTSC 7
215#define ADL_DISPLAY_CONTYPE_PROPRIETARY 8
216#define ADL_DISPLAY_CONTYPE_HDMI_TYPE_A 10
217#define ADL_DISPLAY_CONTYPE_HDMI_TYPE_B 11
218#define ADL_DISPLAY_CONTYPE_SVIDEO 12
219#define ADL_DISPLAY_CONTYPE_COMPOSITE 13
220#define ADL_DISPLAY_CONTYPE_RCA_3COMPONENT 14
221#define ADL_DISPLAY_CONTYPE_DISPLAYPORT 15
222#define ADL_DISPLAY_CONTYPE_EDP 16
223#define ADL_DISPLAY_CONTYPE_WIRELESSDISPLAY 17
224// @}
225
226/// TV Capabilities and Standards
227/// \defgroup define_tv_caps TV Capabilities and Standards
228// @{
229#define ADL_TV_STANDARDS (1 << 0)
230#define ADL_TV_SCART (1 << 1)
231
232/// TV Standards Definitions
233#define ADL_STANDARD_NTSC_M (1 << 0)
234#define ADL_STANDARD_NTSC_JPN (1 << 1)
235#define ADL_STANDARD_NTSC_N (1 << 2)
236#define ADL_STANDARD_PAL_B (1 << 3)
237#define ADL_STANDARD_PAL_COMB_N (1 << 4)
238#define ADL_STANDARD_PAL_D (1 << 5)
239#define ADL_STANDARD_PAL_G (1 << 6)
240#define ADL_STANDARD_PAL_H (1 << 7)
241#define ADL_STANDARD_PAL_I (1 << 8)
242#define ADL_STANDARD_PAL_K (1 << 9)
243#define ADL_STANDARD_PAL_K1 (1 << 10)
244#define ADL_STANDARD_PAL_L (1 << 11)
245#define ADL_STANDARD_PAL_M (1 << 12)
246#define ADL_STANDARD_PAL_N (1 << 13)
247#define ADL_STANDARD_PAL_SECAM_D (1 << 14)
248#define ADL_STANDARD_PAL_SECAM_K (1 << 15)
249#define ADL_STANDARD_PAL_SECAM_K1 (1 << 16)
250#define ADL_STANDARD_PAL_SECAM_L (1 << 17)
251// @}
252
253
254/// \defgroup define_video_custom_mode Video Custom Mode flags
255/// Component Video Custom Mode flags. This is used by the iFlags parameter in ADLCustomMode
256// @{
257#define ADL_CUSTOMIZEDMODEFLAG_MODESUPPORTED (1 << 0)
258#define ADL_CUSTOMIZEDMODEFLAG_NOTDELETETABLE (1 << 1)
259#define ADL_CUSTOMIZEDMODEFLAG_INSERTBYDRIVER (1 << 2)
260#define ADL_CUSTOMIZEDMODEFLAG_INTERLACED (1 << 3)
261#define ADL_CUSTOMIZEDMODEFLAG_BASEMODE (1 << 4)
262// @}
263
264/// \defgroup define_ddcinfoflag Values used for DDCInfoFlag
265/// ulDDCInfoFlag field values used by the ADLDDCInfo structure
266// @{
267#define ADL_DISPLAYDDCINFOEX_FLAG_PROJECTORDEVICE (1 << 0)
268#define ADL_DISPLAYDDCINFOEX_FLAG_EDIDEXTENSION (1 << 1)
269#define ADL_DISPLAYDDCINFOEX_FLAG_DIGITALDEVICE (1 << 2)
270#define ADL_DISPLAYDDCINFOEX_FLAG_HDMIAUDIODEVICE (1 << 3)
271#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORTS_AI (1 << 4)
272#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC601 (1 << 5)
273#define ADL_DISPLAYDDCINFOEX_FLAG_SUPPORT_xvYCC709 (1 << 6)
274// @}
275
276/// \defgroup define_cv_dongle Values used by ADL_CV_DongleSettings_xxx
277/// The following is applicable to ADL_DISPLAY_CONTYPE_ATICVDONGLE_JP and ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C_D only
278// @{
279#define ADL_DISPLAY_CV_DONGLE_D1 (1 << 0)
280#define ADL_DISPLAY_CV_DONGLE_D2 (1 << 1)
281#define ADL_DISPLAY_CV_DONGLE_D3 (1 << 2)
282#define ADL_DISPLAY_CV_DONGLE_D4 (1 << 3)
283#define ADL_DISPLAY_CV_DONGLE_D5 (1 << 4)
284
285/// The following is applicable to ADL_DISPLAY_CONTYPE_ATICVDONGLE_NA and ADL_DISPLAY_CONTYPE_ATICVDONGLE_NONI2C only
286
287#define ADL_DISPLAY_CV_DONGLE_480I (1 << 0)
288#define ADL_DISPLAY_CV_DONGLE_480P (1 << 1)
289#define ADL_DISPLAY_CV_DONGLE_540P (1 << 2)
290#define ADL_DISPLAY_CV_DONGLE_720P (1 << 3)
291#define ADL_DISPLAY_CV_DONGLE_1080I (1 << 4)
292#define ADL_DISPLAY_CV_DONGLE_1080P (1 << 5)
293#define ADL_DISPLAY_CV_DONGLE_16_9 (1 << 6)
294#define ADL_DISPLAY_CV_DONGLE_720P50 (1 << 7)
295#define ADL_DISPLAY_CV_DONGLE_1080I25 (1 << 8)
296#define ADL_DISPLAY_CV_DONGLE_576I25 (1 << 9)
297#define ADL_DISPLAY_CV_DONGLE_576P50 (1 << 10)
298#define ADL_DISPLAY_CV_DONGLE_1080P24 (1 << 11)
299#define ADL_DISPLAY_CV_DONGLE_1080P25 (1 << 12)
300#define ADL_DISPLAY_CV_DONGLE_1080P30 (1 << 13)
301#define ADL_DISPLAY_CV_DONGLE_1080P50 (1 << 14)
302// @}
303
304/// \defgroup define_formats_ovr Formats Override Settings
305/// Display force modes flags
306// @{
307///
308#define ADL_DISPLAY_FORMAT_FORCE_720P 0x00000001
309#define ADL_DISPLAY_FORMAT_FORCE_1080I 0x00000002
310#define ADL_DISPLAY_FORMAT_FORCE_1080P 0x00000004
311#define ADL_DISPLAY_FORMAT_FORCE_720P50 0x00000008
312#define ADL_DISPLAY_FORMAT_FORCE_1080I25 0x00000010
313#define ADL_DISPLAY_FORMAT_FORCE_576I25 0x00000020
314#define ADL_DISPLAY_FORMAT_FORCE_576P50 0x00000040
315#define ADL_DISPLAY_FORMAT_FORCE_1080P24 0x00000080
316#define ADL_DISPLAY_FORMAT_FORCE_1080P25 0x00000100
317#define ADL_DISPLAY_FORMAT_FORCE_1080P30 0x00000200
318#define ADL_DISPLAY_FORMAT_FORCE_1080P50 0x00000400
319
320///< Below are \b EXTENDED display mode flags
321
322#define ADL_DISPLAY_FORMAT_CVDONGLEOVERIDE 0x00000001
323#define ADL_DISPLAY_FORMAT_CVMODEUNDERSCAN 0x00000002
324#define ADL_DISPLAY_FORMAT_FORCECONNECT_SUPPORTED 0x00000004
325#define ADL_DISPLAY_FORMAT_RESTRICT_FORMAT_SELECTION 0x00000008
326#define ADL_DISPLAY_FORMAT_SETASPECRATIO 0x00000010
327#define ADL_DISPLAY_FORMAT_FORCEMODES 0x00000020
328#define ADL_DISPLAY_FORMAT_LCDRTCCOEFF 0x00000040
329// @}
330
331/// Defines used by OD5
332#define ADL_PM_PARAM_DONT_CHANGE 0
333
334/// The following defines Bus types
335// @{
336#define ADL_BUSTYPE_PCI 0 /* PCI bus */
337#define ADL_BUSTYPE_AGP 1 /* AGP bus */
338#define ADL_BUSTYPE_PCIE 2 /* PCI Express bus */
339#define ADL_BUSTYPE_PCIE_GEN2 3 /* PCI Express 2nd generation bus */
340#define ADL_BUSTYPE_PCIE_GEN3 4 /* PCI Express 3rd generation bus */
341// @}
342
343/// \defgroup define_ws_caps Workstation Capabilities
344/// Workstation values
345// @{
346
347/// This value indicates that the workstation card supports active stereo though stereo output connector
348#define ADL_STEREO_SUPPORTED (1 << 2)
349/// This value indicates that the workstation card supports active stereo via "blue-line"
350#define ADL_STEREO_BLUE_LINE (1 << 3)
351/// This value is used to turn off stereo mode.
352#define ADL_STEREO_OFF 0
353/// 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
354#define ADL_STEREO_ACTIVE (1 << 1)
355/// 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
356#define ADL_STEREO_AUTO_HORIZONTAL (1 << 30)
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_AUTO_VERTICAL (1 << 31)
359/// This value indicates that the workstation card supports passive stereo, ie. non stereo sync
360#define ADL_STEREO_PASSIVE (1 << 6)
361/// 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
362#define ADL_STEREO_PASSIVE_HORIZ (1 << 7)
363/// 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
364#define ADL_STEREO_PASSIVE_VERT (1 << 8)
365/// This value indicates that the workstation card supports DeepBitDepth (10 bpp)
366#define ADL_DEEPBITDEPTH_10BPP_SUPPORTED (1 << 5)
367
368/// This value indicates that the workstation supports 8-Bit Grayscale
369#define ADL_8BIT_GREYSCALE_SUPPORTED (1 << 9)
370
371/// Load balancing is supported.
372#define ADL_WORKSTATION_LOADBALANCING_SUPPORTED 0x00000001
373/// Load balancing is available.
374#define ADL_WORKSTATION_LOADBALANCING_AVAILABLE 0x00000002
375
376/// Load balancing is disabled.
377#define ADL_WORKSTATION_LOADBALANCING_DISABLED 0x00000000
378/// Load balancing is Enabled.
379#define ADL_WORKSTATION_LOADBALANCING_ENABLED 0x00000001
380
381
382
383// @}
384
385/// \defgroup define_adapterspeed speed setting from the adapter
386// @{
387#define ADL_CONTEXT_SPEED_UNFORCED 0 /* default asic running speed */
388#define ADL_CONTEXT_SPEED_FORCEHIGH 1 /* asic running speed is forced to high */
389#define ADL_CONTEXT_SPEED_FORCELOW 2 /* asic running speed is forced to low */
390
391#define ADL_ADAPTER_SPEEDCAPS_SUPPORTED (1 << 0) /* change asic running speed setting is supported */
392// @}
393
394/// \defgroup define_glsync Genlock related values
395/// GL-Sync port types (unique values)
396// @{
397/// Unknown port of GL-Sync module
398#define ADL_GLSYNC_PORT_UNKNOWN 0
399/// BNC port of of GL-Sync module
400#define ADL_GLSYNC_PORT_BNC 1
401/// RJ45(1) port of of GL-Sync module
402#define ADL_GLSYNC_PORT_RJ45PORT1 2
403/// RJ45(2) port of of GL-Sync module
404#define ADL_GLSYNC_PORT_RJ45PORT2 3
405
406// GL-Sync Genlock settings mask (bit-vector)
407
408/// None of the ADLGLSyncGenlockConfig members are valid
409#define ADL_GLSYNC_CONFIGMASK_NONE 0
410/// The ADLGLSyncGenlockConfig.lSignalSource member is valid
411#define ADL_GLSYNC_CONFIGMASK_SIGNALSOURCE (1 << 0)
412/// The ADLGLSyncGenlockConfig.iSyncField member is valid
413#define ADL_GLSYNC_CONFIGMASK_SYNCFIELD (1 << 1)
414/// The ADLGLSyncGenlockConfig.iSampleRate member is valid
415#define ADL_GLSYNC_CONFIGMASK_SAMPLERATE (1 << 2)
416/// The ADLGLSyncGenlockConfig.lSyncDelay member is valid
417#define ADL_GLSYNC_CONFIGMASK_SYNCDELAY (1 << 3)
418/// The ADLGLSyncGenlockConfig.iTriggerEdge member is valid
419#define ADL_GLSYNC_CONFIGMASK_TRIGGEREDGE (1 << 4)
420/// The ADLGLSyncGenlockConfig.iScanRateCoeff member is valid
421#define ADL_GLSYNC_CONFIGMASK_SCANRATECOEFF (1 << 5)
422/// The ADLGLSyncGenlockConfig.lFramelockCntlVector member is valid
423#define ADL_GLSYNC_CONFIGMASK_FRAMELOCKCNTL (1 << 6)
424
425
426// GL-Sync Framelock control mask (bit-vector)
427
428/// Framelock is disabled
429#define ADL_GLSYNC_FRAMELOCKCNTL_NONE 0
430/// Framelock is enabled
431#define ADL_GLSYNC_FRAMELOCKCNTL_ENABLE ( 1 << 0)
432
433#define ADL_GLSYNC_FRAMELOCKCNTL_DISABLE ( 1 << 1)
434#define ADL_GLSYNC_FRAMELOCKCNTL_SWAP_COUNTER_RESET ( 1 << 2)
435#define ADL_GLSYNC_FRAMELOCKCNTL_SWAP_COUNTER_ACK ( 1 << 3)
436
437#define ADL_GLSYNC_FRAMELOCKCNTL_STATE_ENABLE ( 1 << 0)
438
439// GL-Sync Framelock counters mask (bit-vector)
440#define ADL_GLSYNC_COUNTER_SWAP ( 1 << 0 )
441
442// GL-Sync Signal Sources (unique values)
443
444/// GL-Sync signal source is undefined
445#define ADL_GLSYNC_SIGNALSOURCE_UNDEFINED 0x00000100
446/// GL-Sync signal source is Free Run
447#define ADL_GLSYNC_SIGNALSOURCE_FREERUN 0x00000101
448/// GL-Sync signal source is the BNC GL-Sync port
449#define ADL_GLSYNC_SIGNALSOURCE_BNCPORT 0x00000102
450/// GL-Sync signal source is the RJ45(1) GL-Sync port
451#define ADL_GLSYNC_SIGNALSOURCE_RJ45PORT1 0x00000103
452/// GL-Sync signal source is the RJ45(2) GL-Sync port
453#define ADL_GLSYNC_SIGNALSOURCE_RJ45PORT2 0x00000104
454
455
456// GL-Sync Signal Types (unique values)
457
458/// GL-Sync signal type is unknown
459#define ADL_GLSYNC_SIGNALTYPE_UNDEFINED 0
460/// GL-Sync signal type is 480I
461#define ADL_GLSYNC_SIGNALTYPE_480I 1
462/// GL-Sync signal type is 576I
463#define ADL_GLSYNC_SIGNALTYPE_576I 2
464/// GL-Sync signal type is 480P
465#define ADL_GLSYNC_SIGNALTYPE_480P 3
466/// GL-Sync signal type is 576P
467#define ADL_GLSYNC_SIGNALTYPE_576P 4
468/// GL-Sync signal type is 720P
469#define ADL_GLSYNC_SIGNALTYPE_720P 5
470/// GL-Sync signal type is 1080P
471#define ADL_GLSYNC_SIGNALTYPE_1080P 6
472/// GL-Sync signal type is 1080I
473#define ADL_GLSYNC_SIGNALTYPE_1080I 7
474/// GL-Sync signal type is SDI
475#define ADL_GLSYNC_SIGNALTYPE_SDI 8
476/// GL-Sync signal type is TTL
477#define ADL_GLSYNC_SIGNALTYPE_TTL 9
478/// GL_Sync signal type is Analog
479#define ADL_GLSYNC_SIGNALTYPE_ANALOG 10
480
481// GL-Sync Sync Field options (unique values)
482
483///GL-Sync sync field option is undefined
484#define ADL_GLSYNC_SYNCFIELD_UNDEFINED 0
485///GL-Sync sync field option is Sync to Field 1 (used for Interlaced signal types)
486#define ADL_GLSYNC_SYNCFIELD_BOTH 1
487///GL-Sync sync field option is Sync to Both fields (used for Interlaced signal types)
488#define ADL_GLSYNC_SYNCFIELD_1 2
489
490
491// GL-Sync trigger edge options (unique values)
492
493/// GL-Sync trigger edge is undefined
494#define ADL_GLSYNC_TRIGGEREDGE_UNDEFINED 0
495/// GL-Sync trigger edge is the rising edge
496#define ADL_GLSYNC_TRIGGEREDGE_RISING 1
497/// GL-Sync trigger edge is the falling edge
498#define ADL_GLSYNC_TRIGGEREDGE_FALLING 2
499/// GL-Sync trigger edge is both the rising and the falling edge
500#define ADL_GLSYNC_TRIGGEREDGE_BOTH 3
501
502
503// GL-Sync scan rate coefficient/multiplier options (unique values)
504
505/// GL-Sync scan rate coefficient/multiplier is undefined
506#define ADL_GLSYNC_SCANRATECOEFF_UNDEFINED 0
507/// GL-Sync scan rate coefficient/multiplier is 5
508#define ADL_GLSYNC_SCANRATECOEFF_x5 1
509/// GL-Sync scan rate coefficient/multiplier is 4
510#define ADL_GLSYNC_SCANRATECOEFF_x4 2
511/// GL-Sync scan rate coefficient/multiplier is 3
512#define ADL_GLSYNC_SCANRATECOEFF_x3 3
513/// GL-Sync scan rate coefficient/multiplier is 5:2 (SMPTE)
514#define ADL_GLSYNC_SCANRATECOEFF_x5_DIV_2 4
515/// GL-Sync scan rate coefficient/multiplier is 2
516#define ADL_GLSYNC_SCANRATECOEFF_x2 5
517/// GL-Sync scan rate coefficient/multiplier is 3 : 2
518#define ADL_GLSYNC_SCANRATECOEFF_x3_DIV_2 6
519/// GL-Sync scan rate coefficient/multiplier is 5 : 4
520#define ADL_GLSYNC_SCANRATECOEFF_x5_DIV_4 7
521/// GL-Sync scan rate coefficient/multiplier is 1 (default)
522#define ADL_GLSYNC_SCANRATECOEFF_x1 8
523/// GL-Sync scan rate coefficient/multiplier is 4 : 5
524#define ADL_GLSYNC_SCANRATECOEFF_x4_DIV_5 9
525/// GL-Sync scan rate coefficient/multiplier is 2 : 3
526#define ADL_GLSYNC_SCANRATECOEFF_x2_DIV_3 10
527/// GL-Sync scan rate coefficient/multiplier is 1 : 2
528#define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_2 11
529/// GL-Sync scan rate coefficient/multiplier is 2 : 5 (SMPTE)
530#define ADL_GLSYNC_SCANRATECOEFF_x2_DIV_5 12
531/// GL-Sync scan rate coefficient/multiplier is 1 : 3
532#define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_3 13
533/// GL-Sync scan rate coefficient/multiplier is 1 : 4
534#define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_4 14
535/// GL-Sync scan rate coefficient/multiplier is 1 : 5
536#define ADL_GLSYNC_SCANRATECOEFF_x1_DIV_5 15
537
538
539// GL-Sync port (signal presence) states (unique values)
540
541/// GL-Sync port state is undefined
542#define ADL_GLSYNC_PORTSTATE_UNDEFINED 0
543/// GL-Sync port is not connected
544#define ADL_GLSYNC_PORTSTATE_NOCABLE 1
545/// GL-Sync port is Idle
546#define ADL_GLSYNC_PORTSTATE_IDLE 2
547/// GL-Sync port has an Input signal
548#define ADL_GLSYNC_PORTSTATE_INPUT 3
549/// GL-Sync port is Output
550#define ADL_GLSYNC_PORTSTATE_OUTPUT 4
551
552
553// GL-Sync LED types (used index within ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array) (unique values)
554
555/// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the one LED of the BNC port
556#define ADL_GLSYNC_LEDTYPE_BNC 0
557/// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the Left LED of the RJ45(1) or RJ45(2) port
558#define ADL_GLSYNC_LEDTYPE_RJ45_LEFT 0
559/// Index into the ADL_Workstation_GLSyncPortState_Get returned ppGlSyncLEDs array for the Right LED of the RJ45(1) or RJ45(2) port
560#define ADL_GLSYNC_LEDTYPE_RJ45_RIGHT 1
561
562
563// GL-Sync LED colors (unique values)
564
565/// GL-Sync LED undefined color
566#define ADL_GLSYNC_LEDCOLOR_UNDEFINED 0
567/// GL-Sync LED is unlit
568#define ADL_GLSYNC_LEDCOLOR_NOLIGHT 1
569/// GL-Sync LED is yellow
570#define ADL_GLSYNC_LEDCOLOR_YELLOW 2
571/// GL-Sync LED is red
572#define ADL_GLSYNC_LEDCOLOR_RED 3
573/// GL-Sync LED is green
574#define ADL_GLSYNC_LEDCOLOR_GREEN 4
575/// GL-Sync LED is flashing green
576#define ADL_GLSYNC_LEDCOLOR_FLASH_GREEN 5
577
578
579// GL-Sync Port Control (refers one GL-Sync Port) (unique values)
580
581/// Used to configure the RJ54(1) or RJ42(2) port of GL-Sync is as Idle
582#define ADL_GLSYNC_PORTCNTL_NONE 0x00000000
583/// Used to configure the RJ54(1) or RJ42(2) port of GL-Sync is as Output
584#define ADL_GLSYNC_PORTCNTL_OUTPUT 0x00000001
585
586
587// GL-Sync Mode Control (refers one Display/Controller) (bitfields)
588
589/// Used to configure the display to use internal timing (not genlocked)
590#define ADL_GLSYNC_MODECNTL_NONE 0x00000000
591/// Bitfield used to configure the display as genlocked (either as Timing Client or as Timing Server)
592#define ADL_GLSYNC_MODECNTL_GENLOCK 0x00000001
593/// Bitfield used to configure the display as Timing Server
594#define ADL_GLSYNC_MODECNTL_TIMINGSERVER 0x00000002
595
596// GL-Sync Mode Status
597/// Display is currently not genlocked
598#define ADL_GLSYNC_MODECNTL_STATUS_NONE 0x00000000
599/// Display is currently genlocked
600#define ADL_GLSYNC_MODECNTL_STATUS_GENLOCK 0x00000001
601/// Display requires a mode switch
602#define ADL_GLSYNC_MODECNTL_STATUS_SETMODE_REQUIRED 0x00000002
603/// Display is capable of being genlocked
604#define ADL_GLSYNC_MODECNTL_STATUS_GENLOCK_ALLOWED 0x00000004
605
606#define ADL_MAX_GLSYNC_PORTS 8
607#define ADL_MAX_GLSYNC_PORT_LEDS 8
608
609// @}
610
611/// \defgroup define_crossfirestate CrossfireX state of a particular adapter CrossfireX combination
612// @{
613#define ADL_XFIREX_STATE_NOINTERCONNECT ( 1 << 0 ) /* Dongle / cable is missing */
614#define ADL_XFIREX_STATE_DOWNGRADEPIPES ( 1 << 1 ) /* CrossfireX can be enabled if pipes are downgraded */
615#define ADL_XFIREX_STATE_DOWNGRADEMEM ( 1 << 2 ) /* CrossfireX cannot be enabled unless mem downgraded */
616#define ADL_XFIREX_STATE_REVERSERECOMMENDED ( 1 << 3 ) /* Card reversal recommended, CrossfireX cannot be enabled. */
617#define ADL_XFIREX_STATE_3DACTIVE ( 1 << 4 ) /* 3D client is active - CrossfireX cannot be safely enabled */
618#define ADL_XFIREX_STATE_MASTERONSLAVE ( 1 << 5 ) /* Dongle is OK but master is on slave */
619#define ADL_XFIREX_STATE_NODISPLAYCONNECT ( 1 << 6 ) /* No (valid) display connected to master card. */
620#define ADL_XFIREX_STATE_NOPRIMARYVIEW ( 1 << 7 ) /* CrossfireX is enabled but master is not current primary device */
621#define ADL_XFIREX_STATE_DOWNGRADEVISMEM ( 1 << 8 ) /* CrossfireX cannot be enabled unless visible mem downgraded */
622#define ADL_XFIREX_STATE_LESSTHAN8LANE_MASTER ( 1 << 9 ) /* CrossfireX can be enabled however performance not optimal due to <8 lanes */
623#define ADL_XFIREX_STATE_LESSTHAN8LANE_SLAVE ( 1 << 10 ) /* CrossfireX can be enabled however performance not optimal due to <8 lanes */
624#define ADL_XFIREX_STATE_PEERTOPEERFAILED ( 1 << 11 ) /* CrossfireX cannot be enabled due to failed peer to peer test */
625#define ADL_XFIREX_STATE_MEMISDOWNGRADED ( 1 << 16 ) /* Notification that memory is currently downgraded */
626#define ADL_XFIREX_STATE_PIPESDOWNGRADED ( 1 << 17 ) /* Notification that pipes are currently downgraded */
627#define ADL_XFIREX_STATE_XFIREXACTIVE ( 1 << 18 ) /* CrossfireX is enabled on current device */
628#define ADL_XFIREX_STATE_VISMEMISDOWNGRADED ( 1 << 19 ) /* Notification that visible FB memory is currently downgraded */
629#define ADL_XFIREX_STATE_INVALIDINTERCONNECTION ( 1 << 20 ) /* Cannot support current inter-connection configuration */
630#define ADL_XFIREX_STATE_NONP2PMODE ( 1 << 21 ) /* CrossfireX will only work with clients supporting non P2P mode */
631#define ADL_XFIREX_STATE_DOWNGRADEMEMBANKS ( 1 << 22 ) /* CrossfireX cannot be enabled unless memory banks downgraded */
632#define ADL_XFIREX_STATE_MEMBANKSDOWNGRADED ( 1 << 23 ) /* Notification that memory banks are currently downgraded */
633#define ADL_XFIREX_STATE_DUALDISPLAYSALLOWED ( 1 << 24 ) /* Extended desktop or clone mode is allowed. */
634#define ADL_XFIREX_STATE_P2P_APERTURE_MAPPING ( 1 << 25 ) /* P2P mapping was through peer aperture */
635#define ADL_XFIREX_STATE_P2PFLUSH_REQUIRED ADL_XFIREX_STATE_P2P_APERTURE_MAPPING /* For back compatible */
636#define ADL_XFIREX_STATE_XSP_CONNECTED ( 1 << 26 ) /* There is CrossfireX side port connection between GPUs */
637#define ADL_XFIREX_STATE_ENABLE_CF_REBOOT_REQUIRED ( 1 << 27 ) /* System needs a reboot bofore enable CrossfireX */
638#define ADL_XFIREX_STATE_DISABLE_CF_REBOOT_REQUIRED ( 1 << 28 ) /* System needs a reboot after disable CrossfireX */
639#define ADL_XFIREX_STATE_DRV_HANDLE_DOWNGRADE_KEY ( 1 << 29 ) /* Indicate base driver handles the downgrade key updating */
640#define ADL_XFIREX_STATE_CF_RECONFIG_REQUIRED ( 1 << 30 ) /* CrossfireX need to be reconfigured by CCC because of a LDA chain broken */
641#define ADL_XFIREX_STATE_ERRORGETTINGSTATUS ( 1 << 31 ) /* Could not obtain current status */
642// @}
643
644///////////////////////////////////////////////////////////////////////////
645// ADL_DISPLAY_ADJUSTMENT_PIXELFORMAT adjustment values
646// (bit-vector)
647///////////////////////////////////////////////////////////////////////////
648/// \defgroup define_pixel_formats Pixel Formats values
649/// This group defines the various Pixel Formats that a particular digital display can support. \n
650/// Since a display can support multiple formats, these values can be bit-or'ed to indicate the various formats \n
651// @{
652#define ADL_DISPLAY_PIXELFORMAT_UNKNOWN 0
653#define ADL_DISPLAY_PIXELFORMAT_RGB (1 << 0)
654#define ADL_DISPLAY_PIXELFORMAT_YCRCB444 (1 << 1) //Limited range
655#define ADL_DISPLAY_PIXELFORMAT_YCRCB422 (1 << 2) //Limited range
656#define ADL_DISPLAY_PIXELFORMAT_RGB_LIMITED_RANGE (1 << 3)
657#define ADL_DISPLAY_PIXELFORMAT_RGB_FULL_RANGE ADL_DISPLAY_PIXELFORMAT_RGB //Full range
658// @}
659
660/// \defgroup define_contype Connector Type Values
661/// ADLDisplayConfig.ulConnectorType defines
662// @{
663#define ADL_DL_DISPLAYCONFIG_CONTYPE_UNKNOWN 0
664#define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NONI2C_JP 1
665#define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_JPN 2
666#define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NA 3
667#define ADL_DL_DISPLAYCONFIG_CONTYPE_CV_NONI2C_NA 4
668#define ADL_DL_DISPLAYCONFIG_CONTYPE_VGA 5
669#define ADL_DL_DISPLAYCONFIG_CONTYPE_DVI_D 6
670#define ADL_DL_DISPLAYCONFIG_CONTYPE_DVI_I 7
671#define ADL_DL_DISPLAYCONFIG_CONTYPE_HDMI_TYPE_A 8
672#define ADL_DL_DISPLAYCONFIG_CONTYPE_HDMI_TYPE_B 9
673#define ADL_DL_DISPLAYCONFIG_CONTYPE_DISPLAYPORT 10
674// @}
675
676
677///////////////////////////////////////////////////////////////////////////
678// ADL_DISPLAY_DISPLAYINFO_ Definitions
679// for ADLDisplayInfo.iDisplayInfoMask and ADLDisplayInfo.iDisplayInfoValue
680// (bit-vector)
681///////////////////////////////////////////////////////////////////////////
682/// \defgroup define_displayinfomask Display Info Mask Values
683// @{
684#define ADL_DISPLAY_DISPLAYINFO_DISPLAYCONNECTED 0x00000001
685#define ADL_DISPLAY_DISPLAYINFO_DISPLAYMAPPED 0x00000002
686#define ADL_DISPLAY_DISPLAYINFO_NONLOCAL 0x00000004
687#define ADL_DISPLAY_DISPLAYINFO_FORCIBLESUPPORTED 0x00000008
688#define ADL_DISPLAY_DISPLAYINFO_GENLOCKSUPPORTED 0x00000010
689#define ADL_DISPLAY_DISPLAYINFO_MULTIVPU_SUPPORTED 0x00000020
690
691#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_SINGLE 0x00000100
692#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_CLONE 0x00000200
693
694/// Legacy support for XP
695#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_2VSTRETCH 0x00000400
696#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_2HSTRETCH 0x00000800
697#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_EXTENDED 0x00001000
698
699/// More support manners
700#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_NSTRETCH1GPU 0x00010000
701#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_NSTRETCHNGPU 0x00020000
702#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_RESERVED2 0x00040000
703#define ADL_DISPLAY_DISPLAYINFO_MANNER_SUPPORTED_RESERVED3 0x00080000
704
705/// Projector display type
706#define ADL_DISPLAY_DISPLAYINFO_SHOWTYPE_PROJECTOR 0x00100000
707
708// @}
709
710
711///////////////////////////////////////////////////////////////////////////
712// ADL_ADAPTER_DISPLAY_MANNER_SUPPORTED_ Definitions
713// for ADLAdapterDisplayCap of ADL_Adapter_Display_Cap()
714// (bit-vector)
715///////////////////////////////////////////////////////////////////////////
716/// \defgroup define_adaptermanner Adapter Manner Support Values
717// @{
718#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NOTACTIVE 0x00000001
719#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_SINGLE 0x00000002
720#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_CLONE 0x00000004
721#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NSTRETCH1GPU 0x00000008
722#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_NSTRETCHNGPU 0x00000010
723
724/// Legacy support for XP
725#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_2VSTRETCH 0x00000020
726#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_2HSTRETCH 0x00000040
727#define ADL_ADAPTER_DISPLAYCAP_MANNER_SUPPORTED_EXTENDED 0x00000080
728
729#define ADL_ADAPTER_DISPLAYCAP_PREFERDISPLAY_SUPPORTED 0x00000100
730#define ADL_ADAPTER_DISPLAYCAP_BEZEL_SUPPORTED 0x00000200
731
732
733///////////////////////////////////////////////////////////////////////////
734// ADL_DISPLAY_DISPLAYMAP_MANNER_ Definitions
735// for ADLDisplayMap.iDisplayMapMask and ADLDisplayMap.iDisplayMapValue
736// (bit-vector)
737///////////////////////////////////////////////////////////////////////////
738#define ADL_DISPLAY_DISPLAYMAP_MANNER_RESERVED 0x00000001
739#define ADL_DISPLAY_DISPLAYMAP_MANNER_NOTACTIVE 0x00000002
740#define ADL_DISPLAY_DISPLAYMAP_MANNER_SINGLE 0x00000004
741#define ADL_DISPLAY_DISPLAYMAP_MANNER_CLONE 0x00000008
742#define ADL_DISPLAY_DISPLAYMAP_MANNER_RESERVED1 0x00000010 // Removed NSTRETCH
743#define ADL_DISPLAY_DISPLAYMAP_MANNER_HSTRETCH 0x00000020
744#define ADL_DISPLAY_DISPLAYMAP_MANNER_VSTRETCH 0x00000040
745#define ADL_DISPLAY_DISPLAYMAP_MANNER_VLD 0x00000080
746
747// @}
748
749///////////////////////////////////////////////////////////////////////////
750// ADL_DISPLAY_DISPLAYMAP_OPTION_ Definitions
751// for iOption in function ADL_Display_DisplayMapConfig_Get
752// (bit-vector)
753///////////////////////////////////////////////////////////////////////////
754#define ADL_DISPLAY_DISPLAYMAP_OPTION_GPUINFO 0x00000001
755
756///////////////////////////////////////////////////////////////////////////
757// ADL_DISPLAY_DISPLAYTARGET_ Definitions
758// for ADLDisplayTarget.iDisplayTargetMask and ADLDisplayTarget.iDisplayTargetValue
759// (bit-vector)
760///////////////////////////////////////////////////////////////////////////
761#define ADL_DISPLAY_DISPLAYTARGET_PREFERRED 0x00000001
762
763///////////////////////////////////////////////////////////////////////////
764// ADL_DISPLAY_POSSIBLEMAPRESULT_VALID Definitions
765// for ADLPossibleMapResult.iPossibleMapResultMask and ADLPossibleMapResult.iPossibleMapResultValue
766// (bit-vector)
767///////////////////////////////////////////////////////////////////////////
768#define ADL_DISPLAY_POSSIBLEMAPRESULT_VALID 0x00000001
769#define ADL_DISPLAY_POSSIBLEMAPRESULT_BEZELSUPPORTED 0x00000002
770#define ADL_DISPLAY_POSSIBLEMAPRESULT_OVERLAPSUPPORTED 0x00000004
771
772///////////////////////////////////////////////////////////////////////////
773// ADL_DISPLAY_MODE_ Definitions
774// for ADLMode.iModeMask, ADLMode.iModeValue, and ADLMode.iModeFlag
775// (bit-vector)
776///////////////////////////////////////////////////////////////////////////
777/// \defgroup define_displaymode Display Mode Values
778// @{
779#define ADL_DISPLAY_MODE_COLOURFORMAT_565 0x00000001
780#define ADL_DISPLAY_MODE_COLOURFORMAT_8888 0x00000002
781#define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_000 0x00000004
782#define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_090 0x00000008
783#define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_180 0x00000010
784#define ADL_DISPLAY_MODE_ORIENTATION_SUPPORTED_270 0x00000020
785#define ADL_DISPLAY_MODE_REFRESHRATE_ROUNDED 0x00000040
786#define ADL_DISPLAY_MODE_REFRESHRATE_ONLY 0x00000080
787
788#define ADL_DISPLAY_MODE_PROGRESSIVE_FLAG 0
789#define ADL_DISPLAY_MODE_INTERLACED_FLAG 2
790// @}
791
792///////////////////////////////////////////////////////////////////////////
793// ADL_OSMODEINFO Definitions
794///////////////////////////////////////////////////////////////////////////
795/// \defgroup define_osmode OS Mode Values
796// @{
797#define ADL_OSMODEINFOXPOS_DEFAULT -640
798#define ADL_OSMODEINFOYPOS_DEFAULT 0
799#define ADL_OSMODEINFOXRES_DEFAULT 640
800#define ADL_OSMODEINFOYRES_DEFAULT 480
801#define ADL_OSMODEINFOXRES_DEFAULT800 800
802#define ADL_OSMODEINFOYRES_DEFAULT600 600
803#define ADL_OSMODEINFOREFRESHRATE_DEFAULT 60
804#define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT 8
805#define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT16 16
806#define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT24 24
807#define ADL_OSMODEINFOCOLOURDEPTH_DEFAULT32 32
808#define ADL_OSMODEINFOORIENTATION_DEFAULT 0
809#define ADL_OSMODEINFOORIENTATION_DEFAULT_WIN7 DISPLAYCONFIG_ROTATION_FORCE_UINT32
810#define ADL_OSMODEFLAG_DEFAULT 0
811// @}
812
813
814///////////////////////////////////////////////////////////////////////////
815// ADLPurposeCode Enumeration
816///////////////////////////////////////////////////////////////////////////
817enum ADLPurposeCode
818{
819 ADL_PURPOSECODE_NORMAL = 0,
820 ADL_PURPOSECODE_HIDE_MODE_SWITCH,
821 ADL_PURPOSECODE_MODE_SWITCH,
822 ADL_PURPOSECODE_ATTATCH_DEVICE,
823 ADL_PURPOSECODE_DETACH_DEVICE,
824 ADL_PURPOSECODE_SETPRIMARY_DEVICE,
825 ADL_PURPOSECODE_GDI_ROTATION,
826 ADL_PURPOSECODE_ATI_ROTATION,
827};
828///////////////////////////////////////////////////////////////////////////
829// ADLAngle Enumeration
830///////////////////////////////////////////////////////////////////////////
831enum ADLAngle
832{
833 ADL_ANGLE_LANDSCAPE = 0,
834 ADL_ANGLE_ROTATERIGHT = 90,
835 ADL_ANGLE_ROTATE180 = 180,
836 ADL_ANGLE_ROTATELEFT = 270,
837};
838
839///////////////////////////////////////////////////////////////////////////
840// ADLOrientationDataType Enumeration
841///////////////////////////////////////////////////////////////////////////
842enum ADLOrientationDataType
843{
844 ADL_ORIENTATIONTYPE_OSDATATYPE,
845 ADL_ORIENTATIONTYPE_NONOSDATATYPE
846};
847
848///////////////////////////////////////////////////////////////////////////
849// ADLPanningMode Enumeration
850///////////////////////////////////////////////////////////////////////////
851enum ADLPanningMode
852{
853 ADL_PANNINGMODE_NO_PANNING = 0,
854 ADL_PANNINGMODE_AT_LEAST_ONE_NO_PANNING = 1,
855 ADL_PANNINGMODE_ALLOW_PANNING = 2,
856};
857
858///////////////////////////////////////////////////////////////////////////
859// ADLLARGEDESKTOPTYPE Enumeration
860///////////////////////////////////////////////////////////////////////////
861enum ADLLARGEDESKTOPTYPE
862{
863 ADL_LARGEDESKTOPTYPE_NORMALDESKTOP = 0,
864 ADL_LARGEDESKTOPTYPE_PSEUDOLARGEDESKTOP = 1,
865 ADL_LARGEDESKTOPTYPE_VERYLARGEDESKTOP = 2,
866};
867
868// Other Definitions for internal use
869
870// Values for ADL_Display_WriteAndReadI2CRev_Get()
871
872#define ADL_I2C_MAJOR_API_REV 0x00000001
873#define ADL_I2C_MINOR_DEFAULT_API_REV 0x00000000
874#define ADL_I2C_MINOR_OEM_API_REV 0x00000001
875
876// Values for ADL_Display_WriteAndReadI2C()
877#define ADL_DL_I2C_LINE_OEM 0x00000001
878#define ADL_DL_I2C_LINE_OD_CONTROL 0x00000002
879#define ADL_DL_I2C_LINE_OEM2 0x00000003
880#define ADL_DL_I2C_LINE_OEM3 0x00000004
881#define ADL_DL_I2C_LINE_OEM4 0x00000005
882#define ADL_DL_I2C_LINE_OEM5 0x00000006
883#define ADL_DL_I2C_LINE_OEM6 0x00000007
884
885// Max size of I2C data buffer
886#define ADL_DL_I2C_MAXDATASIZE 0x00000040
887#define ADL_DL_I2C_MAXWRITEDATASIZE 0x0000000C
888#define ADL_DL_I2C_MAXADDRESSLENGTH 0x00000006
889#define ADL_DL_I2C_MAXOFFSETLENGTH 0x00000004
890
891
892/// Values for ADLDisplayProperty.iPropertyType
893#define ADL_DL_DISPLAYPROPERTY_TYPE_UNKNOWN 0
894#define ADL_DL_DISPLAYPROPERTY_TYPE_EXPANSIONMODE 1
895#define ADL_DL_DISPLAYPROPERTY_TYPE_USEUNDERSCANSCALING 2
896/// Enables ITC processing for HDMI panels that are capable of the feature
897#define ADL_DL_DISPLAYPROPERTY_TYPE_ITCFLAGENABLE 9
898
899
900/// Values for ADLDisplayContent.iContentType
901/// Certain HDMI panels that support ITC have support for a feature such that, the display on the panel
902/// can be adjusted to optimize the view of the content being displayed, depending on the type of content.
903#define ADL_DL_DISPLAYCONTENT_TYPE_GRAPHICS 1
904#define ADL_DL_DISPLAYCONTENT_TYPE_PHOTO 2
905#define ADL_DL_DISPLAYCONTENT_TYPE_CINEMA 4
906#define ADL_DL_DISPLAYCONTENT_TYPE_GAME 8
907
908
909
910
911
912//values for ADLDisplayProperty.iExpansionMode
913#define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_CENTER 0
914#define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_FULLSCREEN 1
915#define ADL_DL_DISPLAYPROPERTY_EXPANSIONMODE_ASPECTRATIO 2
916
917//values for ADL_Display_DitherState_Get
918#define ADL_DL_DISPLAY_DITHER_UNKNOWN 0
919#define ADL_DL_DISPLAY_DITHER_DISABLED 1
920#define ADL_DL_DISPLAY_DITHER_ENABLED 2
921
922/// Display Get Cached EDID flag
923#define ADL_MAX_EDIDDATA_SIZE 256 // number of UCHAR
924#define ADL_MAX_OVERRIDEEDID_SIZE 512 // number of UCHAR
925#define ADL_MAX_EDID_EXTENSION_BLOCKS 3
926
927#define ADL_DL_CONTROLLER_OVERLAY_ALPHA 0
928#define ADL_DL_CONTROLLER_OVERLAY_ALPHAPERPIX 1
929
930#define ADL_DL_DISPLAY_DATA_PACKET__INFO_PACKET_RESET 0x00000000
931#define ADL_DL_DISPLAY_DATA_PACKET__INFO_PACKET_SET 0x00000001
932#define ADL_DL_DISPLAY_DATA_PACKET__INFO_PACKET_SCAN 0x00000002
933
934///\defgroup define_display_packet Display Data Packet Types
935// @{
936#define ADL_DL_DISPLAY_DATA_PACKET__TYPE__AVI 0x00000001
937#define ADL_DL_DISPLAY_DATA_PACKET__TYPE__RESERVED 0x00000002
938#define ADL_DL_DISPLAY_DATA_PACKET__TYPE__VENDORINFO 0x00000004
939// @}
940
941// matrix types
942#define ADL_GAMUT_MATRIX_SD 1 // SD matrix i.e. BT601
943#define ADL_GAMUT_MATRIX_HD 2 // HD matrix i.e. BT709
944
945///\defgroup define_clockinfo_flags Clock flags
946/// Used by ADLAdapterODClockInfo.iFlag
947// @{
948#define ADL_DL_CLOCKINFO_FLAG_FULLSCREEN3DONLY 0x00000001
949#define ADL_DL_CLOCKINFO_FLAG_ALWAYSFULLSCREEN3D 0x00000002
950#define ADL_DL_CLOCKINFO_FLAG_VPURECOVERYREDUCED 0x00000004
951#define ADL_DL_CLOCKINFO_FLAG_THERMALPROTECTION 0x00000008
952// @}
953
954// Supported GPUs
955// ADL_Display_PowerXpressActiveGPU_Get()
956#define ADL_DL_POWERXPRESS_GPU_INTEGRATED 1
957#define ADL_DL_POWERXPRESS_GPU_DISCRETE 2
958
959// Possible values for lpOperationResult
960// ADL_Display_PowerXpressActiveGPU_Get()
961#define ADL_DL_POWERXPRESS_SWITCH_RESULT_STARTED 1 // Switch procedure has been started - Windows platform only
962#define ADL_DL_POWERXPRESS_SWITCH_RESULT_DECLINED 2 // Switch procedure cannot be started - All platforms
963#define ADL_DL_POWERXPRESS_SWITCH_RESULT_ALREADY 3 // System already has required status - All platforms
964#define ADL_DL_POWERXPRESS_SWITCH_RESULT_DEFERRED 5 // Switch was deferred and requires an X restart - Linux platform only
965
966// PowerXpress support version
967// ADL_Display_PowerXpressVersion_Get()
968#define ADL_DL_POWERXPRESS_VERSION_MAJOR 2 // Current PowerXpress support version 2.0
969#define ADL_DL_POWERXPRESS_VERSION_MINOR 0
970
971#define ADL_DL_POWERXPRESS_VERSION (((ADL_DL_POWERXPRESS_VERSION_MAJOR) << 16) | ADL_DL_POWERXPRESS_VERSION_MINOR)
972
973//values for ADLThermalControllerInfo.iThermalControllerDomain
974#define ADL_DL_THERMAL_DOMAIN_OTHER 0
975#define ADL_DL_THERMAL_DOMAIN_GPU 1
976
977//values for ADLThermalControllerInfo.iFlags
978#define ADL_DL_THERMAL_FLAG_INTERRUPT 1
979#define ADL_DL_THERMAL_FLAG_FANCONTROL 2
980
981///\defgroup define_fanctrl Fan speed cotrol
982/// Values for ADLFanSpeedInfo.iFlags
983// @{
984#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_READ 1
985#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_WRITE 2
986#define ADL_DL_FANCTRL_SUPPORTS_RPM_READ 4
987#define ADL_DL_FANCTRL_SUPPORTS_RPM_WRITE 8
988// @}
989
990//values for ADLFanSpeedValue.iSpeedType
991#define ADL_DL_FANCTRL_SPEED_TYPE_PERCENT 1
992#define ADL_DL_FANCTRL_SPEED_TYPE_RPM 2
993
994//values for ADLFanSpeedValue.iFlags
995#define ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED 1
996
997// MVPU interfaces
998#define ADL_DL_MAX_MVPU_ADAPTERS 4
999#define MVPU_ADAPTER_0 0x00000001
1000#define MVPU_ADAPTER_1 0x00000002
1001#define MVPU_ADAPTER_2 0x00000004
1002#define MVPU_ADAPTER_3 0x00000008
1003#define ADL_DL_MAX_REGISTRY_PATH 256
1004
1005//values for ADLMVPUStatus.iStatus
1006#define ADL_DL_MVPU_STATUS_OFF 0
1007#define ADL_DL_MVPU_STATUS_ON 1
1008
1009// values for ASIC family
1010///\defgroup define_Asic_type Detailed asic types
1011/// Defines for Adapter ASIC family type
1012// @{
1013#define ADL_ASIC_UNDEFINED 0
1014#define ADL_ASIC_DISCRETE (1 << 0)
1015#define ADL_ASIC_INTEGRATED (1 << 1)
1016#define ADL_ASIC_FIREGL (1 << 2)
1017#define ADL_ASIC_FIREMV (1 << 3)
1018#define ADL_ASIC_XGP (1 << 4)
1019#define ADL_ASIC_FUSION (1 << 5)
1020#define ADL_ASIC_FIRESTREAM (1 << 6)
1021// @}
1022
1023///\defgroup define_detailed_timing_flags Detailed Timimg Flags
1024/// Defines for ADLDetailedTiming.sTimingFlags field
1025// @{
1026#define ADL_DL_TIMINGFLAG_DOUBLE_SCAN 0x0001
1027#define ADL_DL_TIMINGFLAG_INTERLACED 0x0002
1028#define ADL_DL_TIMINGFLAG_H_SYNC_POLARITY 0x0004
1029#define ADL_DL_TIMINGFLAG_V_SYNC_POLARITY 0x0008
1030// @}
1031
1032///\defgroup define_modetiming_standard Timing Standards
1033/// Defines for ADLDisplayModeInfo.iTimingStandard field
1034// @{
1035#define ADL_DL_MODETIMING_STANDARD_CVT 0x00000001 // CVT Standard
1036#define ADL_DL_MODETIMING_STANDARD_GTF 0x00000002 // GFT Standard
1037#define ADL_DL_MODETIMING_STANDARD_DMT 0x00000004 // DMT Standard
1038#define ADL_DL_MODETIMING_STANDARD_CUSTOM 0x00000008 // User-defined standard
1039#define ADL_DL_MODETIMING_STANDARD_DRIVER_DEFAULT 0x00000010 // Remove Mode from overriden list
1040// @}
1041
1042// \defgroup define_xserverinfo driver x-server info
1043/// These flags are used by ADL_XServerInfo_Get()
1044// @
1045
1046/// Xinerama is active in the x-server, Xinerama extension may report it to be active but it
1047/// may not be active in x-server
1048#define ADL_XSERVERINFO_XINERAMAACTIVE (1<<0)
1049
1050/// RandR 1.2 is supported by driver, RandR extension may report version 1.2
1051/// but driver may not support it
1052#define ADL_XSERVERINFO_RANDR12SUPPORTED (1<<1)
1053// @
1054
1055
1056///\defgroup define_eyefinity_constants Eyefinity Definitions
1057// @{
1058
1059#define ADL_CONTROLLERVECTOR_0 1 // ADL_CONTROLLERINDEX_0 = 0, (1 << ADL_CONTROLLERINDEX_0)
1060#define ADL_CONTROLLERVECTOR_1 2 // ADL_CONTROLLERINDEX_1 = 1, (1 << ADL_CONTROLLERINDEX_1)
1061
1062#define ADL_DISPLAY_SLSGRID_ORIENTATION_000 0x00000001
1063#define ADL_DISPLAY_SLSGRID_ORIENTATION_090 0x00000002
1064#define ADL_DISPLAY_SLSGRID_ORIENTATION_180 0x00000004
1065#define ADL_DISPLAY_SLSGRID_ORIENTATION_270 0x00000008
1066#define ADL_DISPLAY_SLSGRID_CAP_OPTION_RELATIVETO_LANDSCAPE 0x00000001
1067#define ADL_DISPLAY_SLSGRID_CAP_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
1068#define ADL_DISPLAY_SLSGRID_PORTAIT_MODE 0x00000004
1069
1070
1071#define ADL_DISPLAY_SLSMAPCONFIG_GET_OPTION_RELATIVETO_LANDSCAPE 0x00000001
1072#define ADL_DISPLAY_SLSMAPCONFIG_GET_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
1073
1074#define ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_LANDSCAPE 0x00000001
1075#define ADL_DISPLAY_SLSMAPCONFIG_CREATE_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
1076
1077#define ADL_DISPLAY_SLSMAPCONFIG_REARRANGE_OPTION_RELATIVETO_LANDSCAPE 0x00000001
1078#define ADL_DISPLAY_SLSMAPCONFIG_REARRANGE_OPTION_RELATIVETO_CURRENTANGLE 0x00000002
1079
1080
1081#define ADL_DISPLAY_SLSGRID_RELATIVETO_LANDSCAPE 0x00000010
1082#define ADL_DISPLAY_SLSGRID_RELATIVETO_CURRENTANGLE 0x00000020
1083
1084
1085/// The bit mask identifies displays is currently in bezel mode.
1086#define ADL_DISPLAY_SLSMAP_BEZELMODE 0x00000010
1087/// The bit mask identifies displays from this map is arranged.
1088#define ADL_DISPLAY_SLSMAP_DISPLAYARRANGED 0x00000002
1089/// The bit mask identifies this map is currently in used for the current adapter.
1090#define ADL_DISPLAY_SLSMAP_CURRENTCONFIG 0x00000004
1091
1092 ///For onlay active SLS map info
1093#define ADL_DISPLAY_SLSMAPINDEXLIST_OPTION_ACTIVE 0x00000001
1094
1095///For Bezel
1096#define ADL_DISPLAY_BEZELOFFSET_STEPBYSTEPSET 0x00000004
1097#define ADL_DISPLAY_BEZELOFFSET_COMMIT 0x00000008
1098
1099// @}
1100
1101///\defgroup define_powerxpress_constants PowerXpress Definitions
1102// @{
1103
1104/// The bit mask identifies PX caps for ADLPXConfigCaps.iPXConfigCapMask and ADLPXConfigCaps.iPXConfigCapValue
1105#define ADL_PX_CONFIGCAPS_SPLASHSCREEN_SUPPORT 0x0001
1106#define ADL_PX_CONFIGCAPS_CF_SUPPORT 0x0002
1107#define ADL_PX_CONFIGCAPS_MUXLESS 0x0004
1108#define ADL_PX_CONFIGCAPS_PROFILE_COMPLIANT 0x0008
1109#define ADL_PX_CONFIGCAPS_NON_AMD_DRIVEN_DISPLAYS 0x0010
1110#define ADL_PX_CONFIGCAPS_FIXED_SUPPORT 0x0020
1111#define ADL_PX_CONFIGCAPS_DYNAMIC_SUPPORT 0x0040
1112#define ADL_PX_CONFIGCAPS_HIDE_AUTO_SWITCH 0x0080
1113
1114/// The bit mask identifies PX schemes for ADLPXSchemeRange
1115#define ADL_PX_SCHEMEMASK_FIXED 0x0001
1116#define ADL_PX_SCHEMEMASK_DYNAMIC 0x0002
1117
1118/// PX Schemes
1119typedef enum _ADLPXScheme
1120{
1121 ADL_PX_SCHEME_INVALID = 0,
1122 ADL_PX_SCHEME_FIXED = ADL_PX_SCHEMEMASK_FIXED,
1123 ADL_PX_SCHEME_DYNAMIC = ADL_PX_SCHEMEMASK_DYNAMIC,
1124}ADLPXScheme;
1125
1126/// Just keep the old definitions for compatibility, need to be removed later
1127typedef enum PXScheme
1128{
1129 PX_SCHEME_INVALID = 0,
1130 PX_SCHEME_FIXED = 1,
1131 PX_SCHEME_DYNAMIC = 2
1132} PXScheme;
1133
1134
1135// @}
1136
1137///\defgroup define_appprofiles For Application Profiles
1138// @{
1139
1140#define ADL_APP_PROFILE_FILENAME_LENGTH 64
1141#define ADL_APP_PROFILE_TIMESTAMP_LENGTH 32
1142#define ADL_APP_PROFILE_VERSION_LENGTH 32
1143#define ADL_APP_PROFILE_PROPERTY_LENGTH 64
1144
1145enum ApplicationListType
1146{
1147 ADL_PX40_MRU,
1148 ADL_PX40_MISSED,
1149 ADL_PX40_DISCRETE,
1150 ADL_PX40_INTEGRATED,
1151
1152 ADL_PX40_TOTAL,
1153};
1154
1155typedef enum _ADLProfilePropertyType
1156{
1157 ADL_PROFILEPROPERTY_TYPE_BINARY = 0,
1158 ADL_PROFILEPROPERTY_TYPE_BOOLEAN,
1159 ADL_PROFILEPROPERTY_TYPE_DWORD,
1160 ADL_PROFILEPROPERTY_TYPE_QWORD,
1161 ADL_PROFILEPROPERTY_TYPE_ENUMERATED,
1162 ADL_PROFILEPROPERTY_TYPE_STRING,
1163}ADLProfilePropertyType;
1164
1165// @}
1166
1167///\defgroup define_dp12 For Display Port 1.2
1168// @{
1169
1170/// Maximum Relative Address Link
1171#define ADL_MAX_RAD_LINK_COUNT 15
1172
1173// @}
1174
1175///\defgroup defines_gamutspace Driver Supported Gamut Space
1176// @{
1177
1178/// The flags desribes that gamut is related to source or to destination and to overlay or to graphics
1179#define ADL_GAMUT_REFERENCE_SOURCE (1 << 0)
1180#define ADL_GAMUT_GAMUT_VIDEO_CONTENT (1 << 1)
1181
1182/// The flags are used to describe the source of gamut and how read information from struct ADLGamutData
1183#define ADL_CUSTOM_WHITE_POINT (1 << 0)
1184#define ADL_CUSTOM_GAMUT (1 << 1)
1185
1186/// The define means the predefined gamut values .
1187///Driver uses to find entry in the table and apply appropriate gamut space.
1188#define ADL_GAMUT_SPACE_CCIR_709 (1 << 0)
1189#define ADL_GAMUT_SPACE_CCIR_601 (1 << 1)
1190#define ADL_GAMUT_SPACE_ADOBE_RGB (1 << 2)
1191#define ADL_GAMUT_SPACE_CIE_RGB (1 << 3)
1192#define ADL_GAMUT_SPACE_CUSTOM (1 << 4)
1193
1194/// Predefine white point values are structed similar to gamut .
1195#define ADL_WHITE_POINT_5000K (1 << 0)
1196#define ADL_WHITE_POINT_6500K (1 << 1)
1197#define ADL_WHITE_POINT_7500K (1 << 2)
1198#define ADL_WHITE_POINT_9300K (1 << 3)
1199#define ADL_WHITE_POINT_CUSTOM (1 << 4)
1200
1201///gamut and white point coordinates are from 0.0 -1.0 and divider is used to find the real value .
1202/// X float = X int /divider
1203#define ADL_GAMUT_WHITEPOINT_DIVIDER 10000
1204
1205///gamma a0 coefficient uses the following divider:
1206#define ADL_REGAMMA_COEFFICIENT_A0_DIVIDER 10000000
1207///gamma a1 ,a2,a3 coefficients use the following divider:
1208#define ADL_REGAMMA_COEFFICIENT_A1A2A3_DIVIDER 1000
1209
1210///describes whether the coefficients are from EDID or custom user values.
1211#define ADL_EDID_REGAMMA_COEFFICIENTS (1 << 0)
1212///Used for struct ADLRegamma.Feature if set use gamma ramp , if missing use regamma coefficents
1213#define ADL_USE_GAMMA_RAMP (1 << 4)
1214
1215// @}
1216
1217/// \defgroup define_ddcinfo_pixelformats DDCInfo Pixel Formats
1218// @{
1219/// defines for iPanelPixelFormat in struct ADLDDCInfo2
1220#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB656 0x00000001L
1221#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB666 0x00000002L
1222#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB888 0x00000004L
1223#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB101010 0x00000008L
1224#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB161616 0x00000010L
1225#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB_RESERVED1 0x00000020L
1226#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB_RESERVED2 0x00000040L
1227#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_RGB_RESERVED3 0x00000080L
1228#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_XRGB_BIAS101010 0x00000100L
1229#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR444_8BPCC 0x00000200L
1230#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR444_10BPCC 0x00000400L
1231#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR444_12BPCC 0x00000800L
1232#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR422_8BPCC 0x00001000L
1233#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR422_10BPCC 0x00002000L
1234#define ADL_DISPLAY_DDCINFO_PIXEL_FORMAT_YCBCR422_12BPCC 0x00004000L
1235// @}
1236
1237
1238
1239/// \defgroup define_dbd_state Deep Bit Depth
1240// @{
1241
1242/// defines for ADL_Workstation_DeepBitDepth_Get and ADL_Workstation_DeepBitDepth_Set functions
1243// This value indicates that the deep bit depth state is forced off
1244#define ADL_DEEPBITDEPTH_FORCEOFF 0
1245/// This value indicates that the deep bit depth state is set to auto, the driver will automatically enable the
1246/// appropriate deep bit depth state depending on what connected display supports.
1247#define ADL_DEEPBITDEPTH_10BPP_AUTO 1
1248/// This value indicates that the deep bit depth state is forced on to 10 bits per pixel, this is regardless if the display
1249/// supports 10 bpp.
1250#define ADL_DEEPBITDEPTH_10BPP_FORCEON 2
1251
1252/// defines for ADLAdapterConfigMemory of ADL_Adapter_ConfigMemory_Get
1253/// If this bit is set, it indicates that the Deep Bit Depth pixel is set on the display
1254#define ADL_ADAPTER_CONFIGMEMORY_DBD (1 << 0)
1255/// If this bit is set, it indicates that the display is rotated (90, 180 or 270)
1256#define ADL_ADAPTER_CONFIGMEMORY_ROTATE (1 << 1)
1257/// If this bit is set, it indicates that passive stereo is set on the display
1258#define ADL_ADAPTER_CONFIGMEMORY_STEREO_PASSIVE (1 << 2)
1259/// If this bit is set, it indicates that the active stereo is set on the display
1260#define ADL_ADAPTER_CONFIGMEMORY_STEREO_ACTIVE (1 << 3)
1261/// If this bit is set, it indicates that the tear free vsync is set on the display
1262#define ADL_ADAPTER_CONFIGMEMORY_ENHANCEDVSYNC (1 << 4)
1263#define ADL_ADAPTER_CONFIGMEMORY_TEARFREEVSYNC (1 << 4)
1264/// @}
1265
1266/// \defgroup define_adl_validmemoryrequiredfields Memory Type
1267/// @{
1268
1269/// This group defines memory types in ADLMemoryRequired struct \n
1270/// Indicates that this is the visible memory
1271#define ADL_MEMORYREQTYPE_VISIBLE (1 << 0)
1272/// Indicates that this is the invisible memory.
1273#define ADL_MEMORYREQTYPE_INVISIBLE (1 << 1)
1274/// Indicates that this is amount of visible memory per GPU that should be reserved for all other allocations.
1275#define ADL_MEMORYREQTYPE_GPURESERVEDVISIBLE (1 << 2)
1276/// @}
1277
1278/// \defgroup define_adapter_tear_free_status
1279/// Used in ADL_Adapter_TEAR_FREE_Set and ADL_Adapter_TFD_Get functions to indicate the tear free
1280/// desktop status.
1281/// @{
1282/// Tear free desktop is enabled.
1283#define ADL_ADAPTER_TEAR_FREE_ON 1
1284/// Tear free desktop can't be enabled due to a lack of graphic adapter memory.
1285#define ADL_ADAPTER_TEAR_FREE_NOTENOUGHMEM -1
1286/// Tear free desktop can't be enabled due to quad buffer stereo being enabled.
1287#define ADL_ADAPTER_TEAR_FREE_OFF_ERR_QUADBUFFERSTEREO -2
1288/// Tear free desktop is disabled.
1289#define ADL_ADAPTER_TEAR_FREE_OFF 0
1290/// @}
1291
1292/// \defgroup define_adapter_crossdisplay_platforminfo
1293/// Used in ADL_Adapter_CrossDisplayPlatformInfo_Get function to indicate the Crossdisplay platform info.
1294/// @{
1295/// CROSSDISPLAY platform.
1296#define ADL_CROSSDISPLAY_PLATFORM (1 << 0)
1297/// CROSSDISPLAY platform for Lasso station.
1298#define ADL_CROSSDISPLAY_PLATFORM_LASSO (1 << 1)
1299/// CROSSDISPLAY platform for docking station.
1300#define ADL_CROSSDISPLAY_PLATFORM_DOCKSTATION (1 << 2)
1301/// @}
1302
1303/// \defgroup define_adapter_crossdisplay_option
1304/// Used in ADL_Adapter_CrossdisplayInfoX2_Set function to indicate cross display options.
1305/// @{
1306/// Checking if 3D application is runnning. If yes, not to do switch, return ADL_OK_WAIT; otherwise do switch.
1307#define ADL_CROSSDISPLAY_OPTION_NONE 0
1308/// Force switching without checking for running 3D applications
1309#define ADL_CROSSDISPLAY_OPTION_FORCESWITCH (1 << 0)
1310/// @}
1311
1312/// \defgroup define_adapter_states Adapter Capabilities
1313/// These defines the capabilities supported by an adapter. It is used by \ref ADL_Adapter_ConfigureState_Get
1314/// @{
1315/// Indicates that the adapter is headless (i.e. no displays can be connected to it)
1316#define ADL_ADAPTERCONFIGSTATE_HEADLESS ( 1 << 2 )
1317/// Indicates that the adapter is configured to define the main rendering capabilities. For example, adapters
1318/// in Crossfire(TM) configuration, this bit would only be set on the adapter driving the display(s).
1319#define ADL_ADAPTERCONFIGSTATE_REQUISITE_RENDER ( 1 << 0 )
1320/// Indicates that the adapter is configured to be used to unload some of the rendering work for a particular
1321/// requisite rendering adapter. For eample, for adapters in a Crossfire configuration, this bit would be set
1322/// on all adapters that are currently not driving the display(s)
1323#define ADL_ADAPTERCONFIGSTATE_ANCILLARY_RENDER ( 1 << 1 )
1324/// @}
1325
1326/// \defgroup define_controllermode_ulModifiers
1327/// These defines the detailed actions supported by set viewport. It is used by \ref ADL_Display_ViewPort_Set
1328/// @{
1329/// Indicate that the viewport set will change the view position
1330#define ADL_CONTROLLERMODE_CM_MODIFIER_VIEW_POSITION 0x00000001
1331/// Indicate that the viewport set will change the view PanLock
1332#define ADL_CONTROLLERMODE_CM_MODIFIER_VIEW_PANLOCK 0x00000002
1333/// Indicate that the viewport set will change the view size
1334#define ADL_CONTROLLERMODE_CM_MODIFIER_VIEW_SIZE 0x00000008
1335/// @}
1336
1337
1338// End Bracket for Constants and Definitions. Add new groups ABOVE this line!
1339
1340// @}
1341#endif /* ADL_DEFINES_H_ */
1342
1343